赞
踩
Python的os模块提供了许多与操作系统交互的函数,可以用于文件和目录的操作、进程管理、环境变量的访问等。以下是os模块的一些常用功能:
文件和目录操作:os模块提供了许多函数来进行文件和目录的操作,如创建文件夹(os.mkdir)、删除文件夹(os.rmdir)、重命名文件或文件夹(os.rename)、获取文件或目录信息(os.stat)等。
环境变量:os模块提供了访问和修改环境变量的函数,如获取指定环境变量的值(os.getenv)、设置环境变量的值(os.putenv)等。
进程管理:os模块提供了一些函数来进行进程管理,如启动一个新的进程(os.system)、获取当前进程的ID(os.getpid)、等待子进程结束(os.wait)等。
路径操作:os模块提供了一些函数来进行路径操作,如获取当前工作目录(os.getcwd)、拼接路径(os.path.join)、判断路径是否存在(os.path.exists)等。
杂项操作:os模块还提供了一些其他杂项操作,如执行系统命令(os.popen)、修改文件权限(os.chmod)、获取文件列表(os.listdir)等。
总的来说,os模块提供了许多与操作系统交互的函数,可以帮助我们在Python程序中进行文件和目录操作、进程管理等操作。详细的文档可以在Python官方文档中找到。
- os.getcwd()
- >>> E:\Work\WorkScript
- os.getcwdb()
- >>> b'E:\\Work\\WorkScript'
- os.curdir
- >>> .
- os.pardir
- >>> ..
- os.path.lexists(指定路径)
- >>> True or False
默认当前目录:
- os.listdir()
- >>> ['.idea', '.venv', 'test.py']
指定目录:
- os.listdir(指定目录)
- >>> ['.idea', '.venv', 'test.py']
目录不存在时报错,获取前先判断。
- import os
-
- if os.path.lexists(指定目录):
- print(os.listdir(指定目录))
- else:
- print("目录不存在")
目录不存在时报错,创建前先判断。
os.mkdir(指定目录)
- import os
-
- if os.path.lexists(指定目录):
- print("指定目录已存在")
- else:
- os.mkdir(指定目录)
目录不存在或非空时报错,删除前先判断。
os.rmdir(指定目录)
- import os
-
- if os.path.lexists(指定目录):
- if os.listdir(指定目录):
- print("目录非空")
- else:
- os.rmdir(指定目录)
- else:
- print("目录不存在")
目录不存在时报错,重命名前先判断。
os.rename(旧路径名, 新路径名)
- import os
-
- if os.path.lexists(指定目录):
- os.rename(指定目录, 新路径名)
- else:
- print('目录不存在')
os.chdir(指定绝对路径)
- os.path.isdir(指定目录)
- >>> True or False
- os.path.isabs(指定目录)
- >>> True or False
- os.path.join("123","456","789")
- >>> 123\456\789
- os.path.split("E:/Work/WorkScript/test.py")
- >>> ('E:/Work/WorkScript', 'test.py')
-
- os.path.split("E:/Work/WorkScript")
- >>> ('E:/Work', 'WorkScript')
- os.path.basename("E:/Work/WorkScript/test.py")
- >>> test.py
- os.path.abspath("")
- >>> E:\Work\WorkScript
-
- os.path.abspath("test.py")
- >>> E:\Work\WorkScript\test.py
- os.path.splitext("E:/Work/WorkScript/test.py")
- >>> ('E:/Work/WorkScript/test', '.py')
指令格式:
- os.open(path, flags, mode)
-
- 其中flag有如下:
- os.O_RDONLY : 以只读的方式打开
- os.O_WRONLY : 以只写的方式开
- os.O_RDWR : 以读写的方式打开
- os.O_NONBLOCK : 打开时不阻塞
- os.O_APPEND : 以追加的方式打开
- os.O_CREAT : 创建或打开文件
- os.O_TRUNC : 打开一个文件并截断它的长度为零(必须有写权限)
示例:
- # 打开文件进行读取操作
- with open("file.txt", "r") as file:
- # 读取文件内容
- content = file.read()
- print("文件内容:", content)
在Python中,当使用open()函数打开文件后,应该在文件操作完成后显式地关闭文件,以释放资源并确保文件被正确保存。可以使用文件对象的close()方法来关闭文件。
- # 打开文件进行读取操作
- file = open("file.txt", "r")
-
- # 读取文件内容
- content = file.read()
- print("文件内容:", content)
-
- # 关闭文件
- file.close()
另一种更安全的方式是使用with语句来打开文件,这样可以确保文件在with代码块结束时自动关闭,无需显式调用close()方法。
- # 使用with语句打开文件进行读取操作
- with open("file.txt", "r") as file:
- # 读取文件内容
- content = file.read()
- print("文件内容:", content)
- # 定义文件路径
- file_path = "new_file.txt"
-
- # 打开文件并写入内容
- with open(file_path, "w") as file:
- file.write("Hello, this is a new file created using Python!")
-
- print("文件创建成功:", file_path)
- import os
-
- # 定义旧文件名和新文件名
- old_file_name = "old_file.txt"
- new_file_name = "new_file.txt"
-
- # 重命名文件
- os.rename(old_file_name, new_file_name)
-
- print("文件重命名成功:", new_file_name)
- import os
-
- # 定义要删除的文件路径
- file_path = "file_to_delete.txt"
-
- # 删除文件
- os.remove(file_path)
-
- print("文件删除成功:", file_path)
- import os
-
- # 定义文件路径
- file_path = "file.txt"
-
- # 判断文件是否存在
- if os.path.exists(file_path):
- print("文件存在:", file_path)
- else:
- print("文件不存在:", file_path)
os.environ
使用os.environ来获取系统的所有环境变量,并将其存储在env_vars字典中。然后遍历这个字典,打印每个环境变量的键值对,这样可以查看系统中所有的环境变量及其对应的值。
- import os
-
- # 获取系统的所有环境变量
- env_vars = os.environ
-
- # 打印所有环境变量
- for key, value in env_vars.items():
- print(f"{key} : {value}")
os.getenv(env_var_name)
使用os.getenv()函数来获取名为"PATH"的环境变量的值,并将其存储在env_var_value变量中。然后,打印出该环境变量的名称和对应的值。
- import os
-
- # 指定要获取的环境变量名称
- env_var_name = "PATH"
-
- # 获取指定环境变量的值
- env_var_value = os.getenv(env_var_name)
-
- print(f"{env_var_name} 的值为: {env_var_value}")
os.putenv("NEW_VARIABLE", "new_value")
使用os 模块的putenv()函数来添加或修改环境变量。putenv()函数接受环境变量的名称和值作为参数,并将其添加到系统的环境变量中。
- import os
-
- # 添加新的环境变量
- os.putenv("NEW_VARIABLE", "new_value")
- def get_next_all_folder(path):
- """
- 获取指定目录下所有一级目录集合
- :param path: 指定路径
- :return: 一级目录文件夹集合
- """
- folder_list = []
- if not os.path.lexists(path):
- print("输入路径不存在")
- else:
- below_paths = os.listdir(path)
- for below_path in below_paths:
- entire_path = os.path.join(path, below_path)
- if os.path.isdir(entire_path):
- folder_list.append(entire_path)
- return folder_list
- import os
- import glob
-
- def get_next_assign_folder(path, assign_name):
- """
- 获取指定目录下指定名称的一级目录集合
- :param path: 指定路径
- :param assign_name: 指定文件/文件夹名称(可模糊查询,例:"csdn*" 查询以csdn开头的文件夹)
- :return: 一级目录文件夹集合
- """
- folder_list = []
- if not os.path.lexists(path):
- print("输入路径不存在")
- else:
- folder_list = glob.glob(os.path.join(path, assign_name))
- return folder_list
- def judge_file_exists(folder_list, file_name):
- """
- 批量判断指定文件夹路径集合是否存在某文件
- :param folder_list: 指定文件夹集合
- :param file_name: 待判断的文件名称
- :return: 该一级目录以及是否存在文件的元组 (first_level_path , True or False)
- """
- judge_dict = {}
- for folder_path in folder_list:
- file_path = os.path.join(folder_path, file_name)
- if os.path.exists(file_path):
- judge_dict[file_path] = True
- else:
- judge_dict[file_path] = False
- return judge_dict
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。