Python中文件路径常用操作总结
1 文件路径
在进行数据处理时,经常要用代码去读文件里的数据,那么首先就得知道这个文件的文件路径。文件路径简单地说就是文件的存放位置。文件路径分为两块:文件夹路径和文件名,文件名又分为文件基本名和扩展名。
举例说明:
'/Users/Desktop/data.csv'
其中,
‘/Users/Desktop/‘ 为文件夹路径
‘Data’ 为文件基本名
‘.csv’为文件扩展名。
2 常用操作
2.1 文件路径创建
关键函数:makedirs()——创建新文件夹(目录)
import os path = "/Users/Desktop/python_code/My_project/get_path/new" os.makedirs(path)
2.2 文件路径获取
获取文件路径有以下几种场景:1、 获取当前工作路径;2、 获取其它文件路径,其它文件路径又可以是一个也可以是多个。
2.2.1 获取当前工作路径
关键函数:getcwd()
#获取当前工作目录 import os path = os.getcwd() #获取当前工作目录文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name)#文件路径拼接 print(file_path)
运行结果如下:
/Users/Desktop/python_code/My_project/get_path/data.csv
2.2.2 获取一个文件路径
获取其它文件路径的方式有两种,一种是在代码里面直接输入,另一种是采用弹框的形式,手动选择文件夹或者文件。
① 直接在代码里输入路径
#获取一个文件-输入文件路径 path = '/Users/Desktop/python_code/My_project/get_path' #输入文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name) #路径拼接 print(file_path)
运行结果如下:
/Users/Desktop/python_code/My_project/get_path/data.csv
② 弹框选择文件夹或者文件
弹框选择文件夹:
#弹框选择文件夹 import os import tkinter as tk from tkinter import filedialog window = tk.Tk() window.title('请选择文件夹') file_path = filedialog.askdirectory() #选择目标文件夹 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(file_path,name+expanded_name) print(file_path)
弹框选择文件:
#弹框选择目标文件 import tkinter as tk from tkinter import filedialog window = tk.Tk() window.title('请选择目标文件') file_path = filedialog.askopenfilename() #选择目标文件 print(file_path)
2.2.3 获取多个文件路径
在实际应用中更多的是需要获取多个文件路径,这其中的关键是获取到文件夹里的所有文件,然后再逐一处理。
方法一:
import os from glob import glob path = '/Users/Desktop/python_code/My_project/get_path' #文件夹路径,输入或者弹框的形式获取 expanded_name = '.csv' #文件扩展名 file_paths = glob(os.path.join(path,'*' + expanded_name + '*')) #获取所有.csv的文件 file_paths.sort() #按照文件名排序 for i in range(len(file_paths)): print(file_paths[i])
方法二:
import os path = '/Users/Desktop/python_code/My_project/get_path' #文件夹路径,输入或者弹框的形式获取 expanded_name = '.csv' #文件扩展名 all_file_names = os.listdir(path) #显示所有文件名 file_paths = [] for i in range(len(all_file_names)): if expanded_name in all_file_names[i]: file_paths.append(os.path.join(path,all_file_names[i])) #筛选出目标扩展名的文件 file_paths.sort() #按照文件名排序 for i in range(len(file_paths)): print(file_paths[i])
运行结果如下:
/Users/Desktop/python_code/My_project/get_path/data.csv
/Users/Desktop/python_code/My_project/get_path/data1.csv
/Users/Desktop/python_code/My_project/get_path/data2.csv
2.3 文件路径处理
常用的文件路径处理有拼接和拆分。
2.3.1 文件路径拼接
关键函数:os.path.join()
import os path = '/Users/Desktop/python_code/My_project/get_path' #输入文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name) print(file_path)
运行结果如下:
/Users/Desktop/python_code/My_project/get_path/data.csv
2.3.2 文件路径拆分
① 拆分成文件夹路径和文件名
关键函数:os.path.split()
import os path = '/Users/Desktop/python_code/My_project/get_path' #输入文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name) #分割 result = os.path.split(file_path) #分成文件夹路径和文件名 print(result)
运行结果如下:
('/Users/Desktop/python_code/My_project/get_path', 'data.csv')
② 拆分成文件路径和扩展名
关键函数:os.path.splitext()
import os path = '/Users/Desktop/python_code/My_project/get_path' #输入文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name) #分割 result = os.path.splitext(file_path) #分成文件路径和文件扩展名 print(result)
运行结果如下:
('/Users/Desktop/python_code/My_project/get_path/data', '.csv')
③ 获取文件名(带扩展名)
关键函数:os.path.basename()
result = os.path.basename(file_path) #获取文件名 print(result)
运行结果:
data.csv
④ 获取文件夹路径
关键函数:os.path.dirname()
result = os.path.dirname(file_path) #获取文件名 print(result)
运行结果:
/Users/Desktop/python_code/My_project/get_path
2.4 文件路径判断
2.4.1 判断路径是否存在
import os #判断路径是否存在 path = os.getcwd() #获取当前工作目录文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name) judge = os.path.exists(file_path) print(judge )
运行结果:
True
2.4.2 判断是否为文件夹路径
import os #判断路径是否存在 path = os.getcwd() #获取当前工作目录文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name) #判断是否为文件夹路径 judge = os.path.isdir(file_path) print(judge)
运行结果:
False
2.4.3 判断是否为文件路径
import os #判断路径是否存在 path = os.getcwd() #获取当前工作目录文件夹路径 name = 'data' #文件名 expanded_name = '.csv' #文件扩展名 file_path = os.path.join(path,name+expanded_name) #判断是否为文件 judge = os.path.isfile(file_path) print(judge)
运行结果:
True
注:
文件夹路径:/Users/Desktop/python_code/My_project/get_path
文件路径:/Users/Desktop/python_code/My_project/get_path/data.csv
以上就是Python中文件路径常用操作总结的详细内容,更多关于Python文件路径操作的资料请关注脚本之家其它相关文章!
最新评论