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…

GreenPlum-数据世界的绿洲

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

云计算: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搭建策略产品 我们…

牛客周赛 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) 返回两个离散时间序列的互相关。互相…

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

有基础&#xff0c;进阶用&#xff0c;个人查漏补缺 第十五章的内容之前学过&#xff0c;跳过 预处理之前&#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对象,在实际使用中…

(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…

如何下载LANDSAT数据

LANDSAT&#xff08;Land Remote Sensing Satellite&#xff09;是美国国家航空航天局&#xff08;NASA&#xff09;与美国地质调查局&#xff08;USGS&#xff09;合作推出的一系列卫星&#xff0c;旨在提供地球表面的高分辨率遥感数据。LANDSAT卫星系列始于1972年&#xff0c…

win10连上了wifi热点但是无法上网

我的情况是能正常连接wifi热点&#xff08;手机连接这个热点能上网&#xff0c;说明这个wifi热点是正常的&#xff09; 但是没法上网 打开cmd窗口发现能ping通百度&#xff0c;掘金&#xff0c;csdn这些网址。这就更奇怪了&#xff01;于是根据上面的提示&#xff0c;检查了代…

【数据结构和算法】 相等行列对

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 三层循环 2.2 哈希 二层循环 三、代码 3.1 三层循环 3.2 哈希 二层循环 四、复杂度分析 4.1 …

LeetCode74二分搜索优化:二维矩阵中的高效查找策略

题目描述 力扣地址 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&…

抖店和商品橱窗有什么区别?新手应该选哪个?

我是电商珠珠 临近年底了&#xff0c;有的人已经开始为下一年筹谋&#xff0c;有的去抖音做账号做直播带货&#xff0c;不会直播带货的就想尝试做下抖店&#xff0c;来为以后的经济打基础。 刚想要接触却对这类有些迷糊&#xff0c;发现商品橱窗和抖店都可以卖货&#xff0c;…

jumpServer-01-跳板机与堡垒机

jumpServer-01-跳板机与堡垒机 文章目录 jumpServer-01-跳板机与堡垒机一、为什么需要跳板机&#xff1f;二、堡垒机的核心价值三、跳板机与堡垒机的区别四、堡垒机的核心作用与价值 一、为什么需要跳板机&#xff1f; 跳板机&#xff08;Jump Server&#xff09;是一种安全设备…

C# WPF上位机开发(以始为终,寻找真实的上位机需求)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 c# wpf、qt、mfc这些上位机的需求是真实存在的&#xff0c;在现实中有很多应用的地方&#xff0c;这一点大家都很清楚。而程序员本身呢&#xff0c…