Python——第五章:os模块、sys模块
os 模块
os 模块提供了很多允许你的程序与操作系统直接交互的功能
import os
得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()
返回指定目录下的所有文件和目录名:os.listdir()
函数用来删除一个文件:os.remove()
删除多个目录:os.removedirs(r"c:\python")
检验给出的路径是否是一个文件:os.path.isfile()
检验给出的路径是否是一个目录:os.path.isdir()
判断是否是绝对路径:os.path.isabs()
检验给出的路径是否真地存:os.path.exists()
返回一个路径的目录名和文件名:os.path.split()
=> os.path.split('/home/swaroop/byte/code/poem.txt')
结果是一个元组:('/home/swaroop/byte/code', 'poem.txt')
分离扩展名:os.path.splitext()
=> os.path.splitext('/usr/local/test.py')
结果是一个元组:('/usr/local/test', '.py')
获取路径名:os.path.dirname()
获得绝对路径: os.path.abspath()
获取文件名:os.path.basename()
运行shell命令: os.system()
读取操作系统环境变量HOME的值:os.getenv("HOME")
返回操作系统所有的环境变量:os.environ
设置系统环境变量,仅程序运行时有效:os.environ.setdefault('HOME','/home/admin')
给出当前平台使用的行终止符:os.linesep
,os.linesep
是 Python 中 os
模块提供的一个常量,表示当前操作系统上的换行符。这个常量可以在跨平台的代码中用于插入适当的换行符,而不需要关心是 \n
(Unix/Linux)、\r\n
(Windows)还是 \r
(旧版的 Mac OS)。 => print(f"Hello{os.linesep}World")
指示你正在使用的平台:os.name
对于Windows,它是nt
,而对于Linux/Unix用户,它是posix
重命名:os.rename (old, new)
创建多级目录:os.makedirs (d:\\c/d/e/f/g)
在Windows里是\\代表路径 或者使用os.makedirs (c/d/e/f/g)
在当前路径下创建c/d/e/f/g多层文件夹
创建单个目录:os.mkdir ("testdir")
获取文件属性:os.stat (file)
=> print(os.stat("模块.py"))
- 访问时间 (
st_atime
): 2023-03-05 10:54:39 (UTC) => st_atime=1701763679 - 修改时间 (
st_mtime
): 2023-03-05 10:54:38 (UTC) => st_mtime=1701763678 - 创建时间 (
st_ctime
): 2023-03-04 08:16:08 (UTC) => st_ctime=1701669768
修改文件权限与时间戳:os.chmod (file)
获取文件大小:os.path.getsize (filename)
结合目录名与文件名:os.path.join(dir,filename)
改变工作目录到dirname: os.chdir(dirname)
获取当前终端的大小: os.get_terminal_size()
杀死进程: os.kill(10884,signal.SIGKILL)
sys模块
sys
模块是 Python 标准库中的一个核心模块,提供了与 Python 解释器及其环境相关的功能。以下是 sys
模块的一些主要功能和常用属性:
-
命令行参数:
sys.argv
是一个包含命令行参数的列表。sys.argv[0]
是脚本的名称,而sys.argv[1:]
包含传递给脚本的命令行参数。 -
路径操作:
sys.path
是一个包含模块搜索路径的列表。它用于告诉解释器在哪里查找模块。 -
标准输入输出:
sys.stdin
、sys.stdout
和sys.stderr
分别是标准输入、标准输出和标准错误的文件对象。可以用于重定向输入输出。 -
退出程序:
sys.exit()
用于退出程序,可选地传递一个退出状态码。通常用于在程序遇到错误或满足某个条件时退出。 -
获取和设置异常信息:
sys.exc_info()
返回当前正在处理的异常信息的元组。sys.exc_clear()
用于清除当前的异常信息。 -
版本信息:
sys.version
包含 Python 解释器的版本信息字符串。sys.version_info
是一个元组,包含主版本、次版本和微版本号。 -
模块操作:
sys.modules
是一个字典,包含当前导入的所有模块。可以用于检查和操作模块。 -
其他杂项: 包括一些其他功能,如
sys.platform
获取当前平台信息,sys.getsizeof()
获取对象的大小,以及其他与解释器和运行时环境相关的功能。
这只是 sys
模块提供的一部分功能,它在 Python 编程中经常被用于处理与解释器交互、系统信息和运行时环境相关的任务。
sys.path
是 Python 中 sys
模块提供的一个变量,它是一个包含模块搜索路径的列表。当你尝试导入一个模块时,Python 解释器会按照 sys.path
中的路径顺序来查找这个模块。
你可以通过以下方式查看 sys.path
的值:
import sys
print(sys.path)
这会打印出一个列表,其中包含了解释器用来查找模块的路径。这个列表通常包括以下几个项:
- 当前脚本所在的目录。
- Python 安装目录下的
Lib
目录,其中包含标准库模块。 - 任何在
PYTHONPATH
环境变量中指定的路径。 - 其他一些系统相关的默认路径。
在这个列表中,路径的顺序很重要,Python 解释器会按照这个顺序搜索模块。如果你的模块不在这些路径下,你可能需要手动将其路径添加到 sys.path
中。不过,最好的做法是将模块安装到 Python 解释器可以找到的路径中,或者使用虚拟环境。
sys.argv
是 Python 中 sys
模块提供的一个列表,它包含了命令行参数的相关信息。这个列表的第一个元素是脚本的名称(或者是空字符串,表示模块执行),而从第二个元素开始,依次是传递给脚本的命令行参数。
例如,考虑以下简单的 Python 脚本 example.py
:
import sys # 打印命令行参数 print("脚本名称:", sys.argv[0]) print("命令行参数:", sys.argv[1:])
如果你在命令行中执行:
python example.py arg1 arg2 arg3
那么输出将是:
脚本名称: example.py 命令行参数: ['arg1', 'arg2', 'arg3']
在这个例子中,sys.argv[0]
是脚本的名称,而 sys.argv[1:]
包含了传递给脚本的命令行参数。这使得你可以在脚本中获取和处理命令行输入。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)