博客
关于我
Python os和sys模块
阅读量:798 次
发布时间:2023-03-06

本文共 3292 字,大约阅读时间需要 10 分钟。

Python基础 - os模块与sys模块

一、os模块

os模块是Python中处理文件和目录的核心工具,提供丰富的操作方法。

1. 获取与修改工作目录

使用os.getcwd()获取当前工作目录,os.chdir()修改工作目录。请注意,修改的目录必须存在,否则会抛出错误。

import osprint(os.getcwd())  # 获取当前工作目录os.chdir(r'D:\JQWS\PythonWS\demo1\dir2')print(os.getcwd())  # 修改后的工作目录

2. os.path模块

os.path模块提供路径处理的核心功能,主要包括路径分解、拼接、判断文件或目录等操作。

2.1 路径分解与拼接

  • os.path.dirname(path):返回路径的目录部分。
  • os.path.basename(path):返回路径的文件名部分。
  • os.path.split(path):返回元组,包含目录和文件名。
  • os.path.join(*paths):拼接路径,确保使用正确的路径分隔符。
import ospath = r'D:\JQWS\PythonWS\demo1\dir6\a.txt'print(os.path.dirname(path))  # D:\JQWS\PythonWS\demo1\dir6print(os.path.basename(path))  # a.txtsplit_list = os.path.split(path)print(split_list)  # ('D:\JQWS\PythonWS\demo1\dir6', 'a.txt')fPath = os.path.join(split_list[0], split_list[1])print(fPath)  # D:\JQWS\PythonWS\demo1\dir6\a.txt

2.2 判断文件或目录

  • os.path.exists(path):判断路径是否存在。
  • os.path.isfile(path):判断是否为文件。
  • os.path.isdir(path):判断是否为目录。
import ospath = r'D:\JQWS\PythonWS\demo1\dir6\a.txt'print(os.path.exists(path))  # Trueprint(os.path.isfile(path))  # Trueprint(os.path.isdir(path))  # Falseif os.path.exists(path):    if os.path.isdir(path):        print("是目录:%s" % path)    elif os.path.isfile(path):        print("是文件:%s" % path)        size = os.path.getsize(path)        print("文件大小:%s" % size)  # 80字节else:    print("路径不存在")

2.3 目录操作

  • 列出目录内容:os.listdir(path)
  • 创建文件夹:os.mkdir(name)os.makedirs(name)(支持递归)。
  • 删除文件夹:os.rmdir(name)os.makedirs(name)
  • 路径替换:os.path.relpath(path, current_path)
import osfile_dir = r'D:\JQWS\PythonWS\demo1\dir6'list_dir = os.listdir(file_dir)print(list_dir)  # 列出当前目录下的文件和目录new_folder = "abc"if not os.path.exists(new_folder):    os.mkdir(new_folder)print(os.path.exists(new_folder))  # Truenew_folders = r"D:\JQWS\PythonWS\demo1\dir6\test1\abc1"if not os.path.exists(new_folders):    os.makedirs(new_folders)print(os.path.exists(new_folders))  # Trueif os.path.exists(new_folder):    os.rmdir(new_folder)if os.path.exists(new_folders):    os.rmdir(new_folders)print(os.path.relpath('D:\JQWS\PythonWS\demo1\dir6', 'D:\JQWS'))  # PythonWS\demo1\dir6print(os.path.relpath('D:\JQWS\PythonWS\demo1\dir6', 'D:\JQ'))  # ..\JQWS\PythonWS\demo1\dir6

二、sys模块

sys模块与Python解释器交互,提供运行时环境控制的功能。

1. 模块内容

使用dir(sys)查看sys模块提供的所有功能。

import syshelp(sys)  # 查看sys模块的帮助文档

2. 命令行参数处理

  • sys.argv:获取命令行参数列表。
  • sys.argv[0]:程序名。
  • sys.argv[1:]:其他参数。
import sysif __name__ == '__main__':    args = sys.argv    print(args)    a = len(args) - 1  # 参数个数    print(f'参数个数:{a}')    # print(sys.argv[0])  # 程序名    # print(sys.argv[1])  # 第一个参数    # print(sys.argv[2])  # 第二个参数    # print(sys.argv[3])  # 第三个参数

3. 退出程序

  • sys.exit(): 退出当前程序。
  • sys.exit(n): 退出时返回错误代码n。
import sysprint('Hello--')sys.exit()try:    sys.exit(3)except SystemExit:    print("SystemExit异常")print('end---')

4. 标准输入输出

  • sys.stdin.readline():读取标准输入。
  • sys.stdout.write():向标准输出写入数据。
  • sys.stderr.write():向标准错误输出写入数据。
import syss1 = input('>> ')print(s1)s2 = sys.stdin.readline()print(s2)sys.stderr.write('错误输出stderr')

5. Python运行时信息

获取Python解释器的详细信息:

import sysprint(sys.version)  # Python版本信息print(sys.platform)  # 操作系统平台print(sys.path)  # 模块搜索路径print(sys.maxsize)  # 最大值信息print(sys.maxunicode)  # 最大Unicode值print(sys.copyright)  # Python版权信息print(sys.modules)  # 导入的模块信息print(sys.byteorder)  # 字节顺序print(sys.executable)  # 可执行文件路径

sys模块提供了丰富的功能,涵盖从版本信息到模块管理的多个方面。

转载地址:http://tlafk.baihongyu.com/

你可能感兴趣的文章
python glob的安装和使用
查看>>
Python google drive API 下载,文件在哪里?
查看>>
Python GPS 模块:读取最新的 GPS 数据
查看>>
python grpc入门
查看>>
python gRPC测试helloworld
查看>>
python gRPC简单示例
查看>>
Python GUI 开发:全面指南
查看>>
Python GUI编程
查看>>
Python进阶语法:列表推导式
查看>>
Python hashlib模块
查看>>
python hashlib模块
查看>>
python if,循环的练习
查看>>
Python in open course (week3)
查看>>
Python IO编程
查看>>
Python IO编程详解
查看>>
Python IPL
查看>>
python join split
查看>>
python json文件传输图片
查看>>
python kivy AttributeError:‘super‘对象没有属性‘__getattr__‘
查看>>
Python Kivy ListView:如何删除选定的 ListItemButton?
查看>>