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.hqwc.cn/news/316002.html

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

相关文章

【微服务架构】Spring Cloud入门概念讲解

目录 一、单体架构VS微服务架构 1.1 单体应用 单体架构的优点 单体应用的缺点 1.2 微服务“定义” 微服务的特性 微服务的缺点 微服务的适用场景 二、微服务常见概念与核心模块 三、Spring Cloud 工作流程 一、单体架构VS微服务架构 1.1 单体应用 一个归档包&#x…

Swift爬虫使用代理IP采集唯品会商品详情

目录 一、准备工作 二、代理IP的选择与使用 三、使用Swift编写唯品会商品爬虫 四、数据解析与处理 五、注意事项与优化建议 六、总结 一、准备工作 在开始编写爬虫之前,需要准备一些工具和库,以确保数据抓取的顺利进行。以下是所需的工具和库&…

【Linux】进程控制深度了解

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握Linux下的进程控制 > 毒鸡汤&#xff…

【计算机设计大赛作品】豆瓣电影数据挖掘可视化—信息可视化赛道获奖项目深入剖析【可视化项目案例-22】

文章目录 一.【计算机设计大赛作品】豆瓣电影数据挖掘可视化—信息可视化赛道获奖项目深入剖析【可视化项目案例-22】1.1 项目主题:豆瓣电影二.代码剖析2.1 项目效果展示2.2 服务端代码剖析2.3 数据分析2.4 数据评分三.寄语四.本案例完整源码下载一.【计算机设计大赛作品】豆瓣…

Redis数据删除策略(惰性删除+定期删除)

文章目录 Redis数据删除策略1. 惰性删除2. 定期删除3. Redis过期删除策略用的哪种? Redis数据删除策略 1. 惰性删除 设置key过期时间后,不管它,需要用该key时,再检查是否过期,过期就删掉她,没过期返回 set …

GreenPlum-数据世界的绿洲

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

【Jenkins】centos服务器部署jenkins2.426

Jenkins部署 版本选择说明 目前项目上用的版本是比较旧的,现在用不了,插件版本问题比较恶心。试过2.346,插件问题没解决, 单独找(*.hpi)插件匹配的版本太麻烦了。 前置环境部署 git 略 JDK11 该jenk…

07. HTTP接口请求重试怎么处理?

目录 1、前言 2、实现方式 2.1、循环重试 2.2、递归重试 2.3、Spring Retry 2.4、Resilience4j 2.5、http请求网络工具内置重试方式 2.6、自定义重试工具 2.7、并发框架异步重试 2.8、消息队列 3、小结 1、前言 HTTP接口请求重试是指在请求失败时,再次发…

在 Oracle 数据库表中加载多个数据文件

在本文中,我将展示 SQL 加载器 Unix 脚本实用程序的强大功能,其中 SQL 加载器可以使用自动 shell 脚本加载多个数据文件。这在处理大量数据以及需要将数据从一个系统移动到另一个系统时非常有用。 它适合涉及大量历史数据的迁移项目。那么就不可能为每…

【unity知识点】实现延迟调用——InvokeRepeating Invoke CancelInvoke Coroutine使用介绍

文章目录 InvokeRepeating Invoke CancelInvokeCoroutine1. 使用协程(Coroutine)实现类似Invoke的延迟调用:2. 要使用协程(Coroutine)来实现类似于InvokeRepeating的重复调用效果3. 区别4. 补充 完结 InvokeRepeating …

golang编译失败:import cycle not allowed

在开发golang项目的时候,遇到了一个问题,在编译的时候,报错 原因,循环引入包 ginchat/models里面的问题 正常情况下 A包调用了B包,但是B包就不能再去调用A包了,这样就会报错 查看代码 utils调用了models包 而models包中又调用了utils包 解决办法一: 修改一下逻辑,尽量不让…

建立网络矩阵:选择迅腾文化提供定制集成化服务、专业团队支持与拓展销售渠道

建立网络矩阵:选择迅腾文化提供定制集成化服务、专业团队支持与拓展销售渠道 在当今高度互联的数字时代,网络矩阵已成为企业常态化运营工具。网络矩阵不仅仅是一个单一的网站,而是由多个相互关联的数字资产组成的整体结构,包括官…