Python中的路径处理技巧大全
在Python中,路径处理是一项常见的任务。无论是读取文件,创建文件夹还是导入模块,都需要使用路径来定位所需的资源。下面是一些常用的路径处理技巧以及使用例子。
1. 当前工作路径(Current Working Directory,CWD)
获取当前脚本文件所在的路径:
import os cwd = os.getcwd() print(cwd) # /Users/username
2. 相对路径和绝对路径
相对路径是相对于当前工作路径或指定的基本路径的路径。绝对路径是从根目录开始的完整路径。可以使用os.path.join()函数将基础路径和子路径组合成一个完整的路径:
import os base_path = '/Users/username' sub_path = 'documents/file.txt' path = os.path.join(base_path, sub_path) print(path) # /Users/username/documents/file.txt
3. 检查路径是否存在
可以使用os.path.exists()函数检查路径是否存在:
import os
path = '/path/to/file.txt'
if os.path.exists(path):
print('路径存在')
else:
print('路径不存在')
4. 创建目录
可以使用os.makedirs()函数创建一个或多个目录,如果目录已存在则会引发异常:
import os path = '/path/to/new/directory' os.makedirs(path)
5. 获取文件名和文件扩展名
可以使用os.path.basename()函数获取文件名,使用os.path.splitext()函数获取文件名和文件扩展名:
import os file_path = '/path/to/file.txt' file_name = os.path.basename(file_path) print(file_name) # file.txt file_name, file_ext = os.path.splitext(file_path) print(file_name) # /path/to/file print(file_ext) # .txt
6. 路径分割
可以使用os.path.split()函数将路径分割成目录和文件名:
import os file_path = '/path/to/file.txt' directory, file_name = os.path.split(file_path) print(directory) # /path/to print(file_name) # file.txt
7. 获取目录列表
可以使用os.listdir()函数获取指定目录下的文件和文件夹列表:
import os
directory = '/path/to/directory'
file_list = os.listdir(directory)
for file_name in file_list:
print(file_name)
8. 确定是否是文件或目录
可以使用os.path.isfile()和os.path.isdir()函数确定给定路径是否是文件或目录:
import os
path = '/path/to/file_or_directory'
if os.path.isfile(path):
print('这是一个文件')
elif os.path.isdir(path):
print('这是一个目录')
else:
print('路径不存在')
9. 文件路径的常规化
可以使用os.path.normpath()函数将路径中的所有多余分隔符和符号链接清除:
import os path = '/path//to/../file.txt' normalized_path = os.path.normpath(path) print(normalized_path) # /path/to/file.txt
10. 文件路径的拓展
可以使用os.path.expanduser()函数将路径中的~(用户主目录)符号拓展为完整路径:
import os
path = '~/file.txt'
expanded_path = os.path.expanduser(path)
print(expanded_path) # /Users/username/file.txt
这只是一些常见的路径处理技巧,还有很多其他功能强大的模块可以使用,如pathlib和shutil等。根据实际需求选择合适的技巧和工具来处理路径将会提高编码效率。
