Python内置库os和sys的常用方法汇总

40c45977420c4d7cbde48c1d4eec8c31.jpeg

更多Python学习内容:ipengtao.com

Python是一门强大的编程语言,具有丰富的标准库,其中包括ossys两个常用模块。os模块用于与操作系统交互,提供了许多文件和目录操作的方法,而sys模块用于与Python解释器进行交互,提供了对命令行参数和系统配置的访问。本文将汇总ossys模块的常用方法,并提供详细的示例代码。

os模块的常用方法

1. 获取当前工作目录

使用os.getcwd()方法可以获取当前Python脚本的工作目录。这对于构建相对路径非常有用。

import oscurrent_directory = os.getcwd()
print("当前工作目录:", current_directory)

2. 切换工作目录

使用os.chdir(path)方法可以更改当前工作目录到指定的路径。

import osos.chdir("/path/to/new/directory")

3. 列出目录内容

使用os.listdir(path)方法可以列出指定目录中的文件和子目录。

import osdirectory_contents = os.listdir("/path/to/directory")
print("目录内容:", directory_contents)

4. 创建目录

使用os.mkdir(path)方法可以创建一个新目录。

import osos.mkdir("/path/to/new/directory")

5. 递归创建目录

使用os.makedirs(path)方法可以递归创建多级目录,如果父级目录不存在也会创建。

import osos.makedirs("/path/to/new/directory")

6. 删除文件或目录

使用os.remove(file)方法可以删除文件,使用os.rmdir(directory)方法可以删除目录,但前提是目录必须为空。如果要删除目录及其内容,可以使用shutil.rmtree(path)方法。

import os
import shutilos.remove("/path/to/file")
os.rmdir("/path/to/empty/directory")
shutil.rmtree("/path/to/directory/with/contents")

7. 文件重命名

使用os.rename(src, dst)方法可以重命名文件或目录。

import osos.rename("/path/to/old/file", "/path/to/new/file")

8. 检查文件或目录是否存在

使用os.path.exists(path)方法可以检查文件或目录是否存在。

import osif os.path.exists("/path/to/file_or_directory"):print("文件或目录存在")
else:print("文件或目录不存在")

9. 获取文件信息

使用os.path.getsize(file)方法可以获取文件的大小(以字节为单位)。

import osfile_size = os.path.getsize("/path/to/file")
print("文件大小(字节):", file_size)

10. 检查是否为文件或目录

使用os.path.isfile(path)方法可以检查路径是否为文件,使用os.path.isdir(path)方法可以检查路径是否为目录。

import osif os.path.isfile("/path/to/file"):print("是文件")
elif os.path.isdir("/path/to/directory"):print("是目录")

11. 拼接路径

使用os.path.join(path1, path2, ...)方法可以拼接路径,以适应不同操作系统的路径分隔符。

import ospath = os.path.join("/path/to", "directory", "file.txt")
print("拼接后的路径:", path)

sys模块的常用方法

1. 获取命令行参数

使用sys.argv列表可以获取命令行参数,其中sys.argv[0]是脚本名称,后续元素是传递给脚本的参数。

import sysscript_name = sys.argv[0]
arguments = sys.argv[1:]print("脚本名称:", script_name)
print("参数:", arguments)

2. 退出脚本

使用sys.exit(code)方法可以退出脚本,并可选地指定退出代码。退出代码为0表示正常退出,其他值表示出现错误。

import sys# 正常退出
sys.exit(0)# 带有错误退出代码
sys.exit(1)

3. 获取Python解释器信息

使用sys.version可以获取Python解释器的版本信息。

import syspython_version = sys.version
print("Python版本:", python_version)

4. 修改默认编码

使用sys.setdefaultencoding(encoding)方法可以修改Python的默认字符编码。

import sys# 修改默认编码为UTF-8
reload(sys)
sys.setdefaultencoding('utf-8')

5. 获取最大递归深度

使用sys.getrecursionlimit()方法可以获取Python解释器的最大递归深度。

import sysrecursion_limit = sys.getrecursionlimit()
print("最大递归深度:", recursion_limit)

6. 设置最大递归深度

使用sys.setrecursionlimit(limit)方法可以设置Python解释器的最大递归深度。请注意,更改递归深度可能导致Python解释器不稳定,因此要谨慎使用。

import sys# 设置最大递归深度为10000
sys.setrecursionlimit(10000)

7. 获取字节序

使用sys.byteorder可以获取系统的字节序,返回值为"little"(小端字节序)或"big"(大端字节序)。

import sysbyte_order = sys.byteorder
print("字节序:", byte_order)

8. 获取操作系统信息

使用sys.platform可以获取操作系统的名称。例如,Windows系统返回"win32",Linux系统返回"linux"。

import sysplatform = sys.platform
print("操作系统:", platform)

总结

ossys模块提供了丰富的方法,用于与操作系统和Python解释器进行交互。本文汇总了这两个模块的常用方法,包括获取当前工作目录、文件操作、路径操作、命令行参数处理等等。这些方法在编写文件操作、系统管理和命令行工具时非常有用。通过充分利用ossys模块,可以更轻松地处理各种系统和环境相关的任务,提高Python编程的效率和便捷性。

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

更多Python学习内容:ipengtao.com

干货笔记整理

  100个爬虫常见问题.pdf ,太全了!

Python 自动化运维 100个常见问题.pdf

Python Web 开发常见的100个问题.pdf

124个Python案例,完整源代码!

PYTHON 3.10中文版官方文档

耗时三个月整理的《Python之路2.0.pdf》开放下载

最经典的编程教材《Think Python》开源中文版.PDF下载

4189796af8d07043c08da5ed1125bf43.png

点击“阅读原文”,获取更多学习内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/591124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

buildadmin实现多级关联下拉效果

文章目录 最终效果开始重新渲染组件编辑渲染完结 最终效果 开始 popupForm.vue代码 <FormItem :label"t(interior.interiorApply.interior_index_id)" type"remoteSelect"v-model"baTable.form.items!.interior_index_id" prop"interi…

算法练习Day25 (Leetcode/Python-贪心算法)

贪心算法基本概念&#xff1a; 贪心的本质是通过选取局部最优达到全局最优。 并没有固定的套路&#xff0c;检验的算法正确性的办法可以是举反例。 455. Assign Cookies Assume you are an awesome parent and want to give your children some cookies. But, you should gi…

GreenPlum-数据世界的绿洲

GreenPlum的介绍 Greenplum是一个基于开源PostgreSQL数据库系统的高性能、可扩展的大数据处理平台。它是由Pivotal Software&#xff08;现在是VMware的一部分&#xff09;开发并维护的。Greenplum的设计目标是处理大规模的数据集&#xff0c;提供高并发、高吞吐量的查询和分析…

AWS CDK安装到AWS EC2 Linux 2

文章目录 小结问题及解决安装NPM安装aws-cdk-lib找不到Python3 测试参考 小结 AWS CDK安装到AWS EC2 Linux 2&#xff0c;并记录过程。 问题及解决 安装NPM [ec2-userip-100-92-28-119 aws]$ sudo yum install npm Loaded plugins: priorities, update-motd, upgrade-helpe…

云计算:OpenStack 分布式架构部署(单控制节点与多计算节点)

目录 一、实验 1.环境 2. 计算服务安装(计算节点2) 3. 网络服务安装(计算节点2) 一、实验 1.环境 (1) 主机 表1 主机 主机架构IP备注controller控制节点192.168.204.210已部署compute01计算节点1192.168.204.211 已部署compute02计算节点2192.168.204.212 &#xff08;…

产品经理学习-从0-1搭建策略产品

从0-1搭建策略产品 目录&#xff1a; 回顾策略产品 如何从0-1搭建策略产品 回顾策略产品 之前也了解过从产品实施的角度来看&#xff0c;策略就是针对问题的解决方案&#xff0c;在互联网时代更集中体现在2个维度&#xff1a;业务场景和数据应用 如何从0-1搭建策略产品 我们…

positon emb(位置编码存在PAD)部分

Unk替换细节修改&#xff1a;若shuffle ratio1.0 &#xff08;1&#xff09;编码后的input_id: tensor([[ 101, 1996, 2006, 1996, 7195, 1997, 5409, 1011, 1011, 102], [ 101, 7842, 14194, 1997, 2100, 102, 0, 0, 0, 0], &#xff08;2&#xff09;对应的unk_mask: ten…

牛客周赛 Round 26 解题报告 | 珂学家 | 0-1 BFS + 状态机DP

前言 整体评价 T3是一道0-1 BFS题, 这样时间复杂度可以控制在O(n*m), 也可以用优先队列。 T4这类题型&#xff0c;在牛客Round周赛系列出现好多次了&#xff0c;要么状态机DP&#xff0c;要么容斥&#xff0c;如果n很大&#xff0c;就用矩阵幂优化。 欢迎关注 珂朵莉 牛客周…

MATLAB中xcorr函数用法

目录 语法 说明 示例 两个向量的互相关 向量的自相关 归一化的互相关 xcorr函数的功能是返回互相关关系。 语法 r xcorr(x,y) r xcorr(x) r xcorr(___,maxlag) r xcorr(___,scaleopt) [r,lags] xcorr(___) 说明 r xcorr(x,y) 返回两个离散时间序列的互相关。互相…

V8引擎-隐藏类

1、动态语言和静态语言 静态语言的效率更高 javaScript是一种动态语言&#xff0c;对象的属性在运行时可以被修改。因此&#xff0c;当V8使用一个对象时&#xff0c;比如使用start.x来访问对象start的属性x时&#xff0c;V8并不知道对象中是否存在x属性&#xff0c;也不知道x属…

【C Primer Plus第六版 学习笔记】 第十六章 C预处理器和C库

有基础&#xff0c;进阶用&#xff0c;个人查漏补缺 第十五章的内容之前学过&#xff0c;跳过 预处理之前&#xff0c;编译器必须对该程序进行一些翻译处理 首先把源代码中出现的字符映射到原字符集 其次编译器定位每个反斜杠后面跟着换行符的实例&#xff0c;并删除它们&…

在 Linux 系统中,常用的音频命令alsamixer、amixer、aplay、arecord

在 Linux 系统中&#xff0c;常用的音频命令主要包括以下几个&#xff1a; 1. alsamixer alsamixer 是一个交互式的音频混音控制台程序&#xff0c;它提供了对音量、通道、增益等设置的直观界面。 2. amixer amixer 命令用于管理音频设置&#xff0c;可以显示和调整音量、切换…

各种编程语言的特点及应用领域

1、C语言 特点&#xff1a;C语言是一种高效、快速、可移植、结构化的编程语言&#xff0c;具有广泛的应用领域。C语言不提供诸如面向对象编程&#xff08;OOP&#xff09;等高级语言所支持的抽象层次&#xff0c;但可以方便地访问底层硬件&#xff0c;因此常被用于系统编程和嵌…

一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法与流程

本发明涉及模式识别与计算机视觉领域&#xff0c;尤其涉及一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法。 背景技术&#xff1a; 视觉一直是人类获取外界信息的最重要、最直观的途径&#xff0c;据有关统计&#xff0c;人类获取信息的80&#xff05;都…

nginx 多端口部署多站点

目录 1.进行nginx.conf 2.复制粘贴 3.修改端口及站点根目录 4. 网站上传 1.进行nginx.conf 在 nginx 主要配置文件 nginx.conf 中&#xff0c;server 是负责一个网站配置的&#xff0c;我们想要多个端口访问的话&#xff0c;可以复制多个 server 先进入到 nginx.conf 中 …

「微服务」Saga 模式 如何使用微服务实现业务事务-第二部分

在上一篇文章中&#xff0c;我们看到了实现分布式事务的一些挑战&#xff0c;以及如何使用Event / Choreography方法实现Saga的模式。在本文中&#xff0c;我们将讨论如何通过使用另一种类型的Saga实现&#xff08;称为Command或Orchestration&#xff09;来解决一些问题&#…

vue3+echarts可视化——记录我的2023编程之旅

文章目录 ⭐前言⭐2023我在csdn的旅途痕迹&#x1f496;node系列文章&#x1f496;vue3系列文章&#x1f496;python系列文章&#x1f496;react系列文章&#x1f496;js拖拽相关文章&#x1f496;小程序系列文章&#x1f496;uniapp系列文章 ⭐可视化布局&#x1f496; git 数…

【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用

课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 VRTK和Unity自身的UI控制包可以配合使用发挥效果。本篇就讨论这方面的实战内容。 之前可以互动的立体UI并不是传统的2D UI对象,在实际使用中…

MockServer简单使用记录

下载源码 下载git源码&#xff1a;git clone https://github.com/mock-server/mockserver.git 通过执行文件编译成jar包 ./mvnw clean package 可能会报错。 启动命令 java -jar ./mockserver-netty-jar-with-dependencies.jar -serverPort 1080 -proxyRemotePort 80 -pro…

(self-supervised learning)Event Camera Data Pre-training

Publisher: ICCV 2023 MOTIVATION OF READING: 自监督学习、稀疏事件 NILM link: https://arxiv.org/pdf/2301.01928.pdf Code: GitHub - Yan98/Event-Camera-Data-Pre-training 1. Overview Contributions are summarized as follows: 1. A self-supervised framework f…