Python中文件路徑常用操作總結(jié)
1 文件路徑
在進(jìn)行數(shù)據(jù)處理時(shí),經(jīng)常要用代碼去讀文件里的數(shù)據(jù),那么首先就得知道這個(gè)文件的文件路徑。文件路徑簡(jiǎn)單地說就是文件的存放位置。文件路徑分為兩塊:文件夾路徑和文件名,文件名又分為文件基本名和擴(kuò)展名。
舉例說明:
'/Users/Desktop/data.csv'
其中,
‘/Users/Desktop/‘ 為文件夾路徑
‘Data’ 為文件基本名
‘.csv’為文件擴(kuò)展名。
2 常用操作
2.1 文件路徑創(chuàng)建
關(guān)鍵函數(shù):makedirs()——創(chuàng)建新文件夾(目錄)
import os path = "/Users/Desktop/python_code/My_project/get_path/new" os.makedirs(path)
2.2 文件路徑獲取
獲取文件路徑有以下幾種場(chǎng)景:1、 獲取當(dāng)前工作路徑;2、 獲取其它文件路徑,其它文件路徑又可以是一個(gè)也可以是多個(gè)。
2.2.1 獲取當(dāng)前工作路徑
關(guān)鍵函數(shù):getcwd()
#獲取當(dāng)前工作目錄 import os path = os.getcwd() #獲取當(dāng)前工作目錄文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name)#文件路徑拼接 print(file_path)
運(yùn)行結(jié)果如下:
/Users/Desktop/python_code/My_project/get_path/data.csv
2.2.2 獲取一個(gè)文件路徑
獲取其它文件路徑的方式有兩種,一種是在代碼里面直接輸入,另一種是采用彈框的形式,手動(dòng)選擇文件夾或者文件。
① 直接在代碼里輸入路徑
#獲取一個(gè)文件-輸入文件路徑 path = '/Users/Desktop/python_code/My_project/get_path' #輸入文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name) #路徑拼接 print(file_path)
運(yùn)行結(jié)果如下:
/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('請(qǐng)選擇文件夾')
file_path = filedialog.askdirectory() #選擇目標(biāo)文件夾
name = 'data' #文件名
expanded_name = '.csv' #文件擴(kuò)展名
file_path = os.path.join(file_path,name+expanded_name)
print(file_path)
彈框選擇文件:
#彈框選擇目標(biāo)文件
import tkinter as tk
from tkinter import filedialog
window = tk.Tk()
window.title('請(qǐng)選擇目標(biāo)文件')
file_path = filedialog.askopenfilename() #選擇目標(biāo)文件
print(file_path)
2.2.3 獲取多個(gè)文件路徑
在實(shí)際應(yīng)用中更多的是需要獲取多個(gè)文件路徑,這其中的關(guān)鍵是獲取到文件夾里的所有文件,然后再逐一處理。
方法一:
import os
from glob import glob
path = '/Users/Desktop/python_code/My_project/get_path' #文件夾路徑,輸入或者彈框的形式獲取
expanded_name = '.csv' #文件擴(kuò)展名
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' #文件擴(kuò)展名
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])) #篩選出目標(biāo)擴(kuò)展名的文件
file_paths.sort() #按照文件名排序
for i in range(len(file_paths)):
print(file_paths[i])
運(yùn)行結(jié)果如下:
/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 文件路徑拼接
關(guān)鍵函數(shù):os.path.join()
import os path = '/Users/Desktop/python_code/My_project/get_path' #輸入文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name) print(file_path)
運(yùn)行結(jié)果如下:
/Users/Desktop/python_code/My_project/get_path/data.csv
2.3.2 文件路徑拆分
① 拆分成文件夾路徑和文件名
關(guān)鍵函數(shù):os.path.split()
import os path = '/Users/Desktop/python_code/My_project/get_path' #輸入文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name) #分割 result = os.path.split(file_path) #分成文件夾路徑和文件名 print(result)
運(yùn)行結(jié)果如下:
('/Users/Desktop/python_code/My_project/get_path', 'data.csv')
② 拆分成文件路徑和擴(kuò)展名
關(guān)鍵函數(shù):os.path.splitext()
import os path = '/Users/Desktop/python_code/My_project/get_path' #輸入文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name) #分割 result = os.path.splitext(file_path) #分成文件路徑和文件擴(kuò)展名 print(result)
運(yùn)行結(jié)果如下:
('/Users/Desktop/python_code/My_project/get_path/data', '.csv')
③ 獲取文件名(帶擴(kuò)展名)
關(guān)鍵函數(shù):os.path.basename()
result = os.path.basename(file_path) #獲取文件名 print(result)
運(yùn)行結(jié)果:
data.csv
④ 獲取文件夾路徑
關(guān)鍵函數(shù):os.path.dirname()
result = os.path.dirname(file_path) #獲取文件名 print(result)
運(yùn)行結(jié)果:
/Users/Desktop/python_code/My_project/get_path
2.4 文件路徑判斷
2.4.1 判斷路徑是否存在
import os #判斷路徑是否存在 path = os.getcwd() #獲取當(dāng)前工作目錄文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name) judge = os.path.exists(file_path) print(judge )
運(yùn)行結(jié)果:
True
2.4.2 判斷是否為文件夾路徑
import os #判斷路徑是否存在 path = os.getcwd() #獲取當(dāng)前工作目錄文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name) #判斷是否為文件夾路徑 judge = os.path.isdir(file_path) print(judge)
運(yùn)行結(jié)果:
False
2.4.3 判斷是否為文件路徑
import os #判斷路徑是否存在 path = os.getcwd() #獲取當(dāng)前工作目錄文件夾路徑 name = 'data' #文件名 expanded_name = '.csv' #文件擴(kuò)展名 file_path = os.path.join(path,name+expanded_name) #判斷是否為文件 judge = os.path.isfile(file_path) print(judge)
運(yùn)行結(jié)果:
True
注:
文件夾路徑:/Users/Desktop/python_code/My_project/get_path
文件路徑:/Users/Desktop/python_code/My_project/get_path/data.csv
以上就是Python中文件路徑常用操作總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Python文件路徑操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python 基于 tkinter 做個(gè)學(xué)生版的計(jì)算器
這篇文章主要介紹了基于Python編寫一個(gè)計(jì)算器程序,實(shí)現(xiàn)簡(jiǎn)單的加減乘除和取余二元運(yùn)算,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-09-09
python try except返回異常的信息字符串代碼實(shí)例
這篇文章主要介紹了python try except返回異常的信息字符串代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python程序?qū)崿F(xiàn)向MySQL存放圖片
這篇文章主要介紹了Python程序?qū)崿F(xiàn)向MySQL存放圖片,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
解決python2.7 查詢mysql時(shí)出現(xiàn)中文亂碼
這篇文章主要介紹了python操作mysql中文顯示亂碼的解決方法,是Python數(shù)據(jù)庫(kù)程序設(shè)計(jì)中經(jīng)常會(huì)遇到的問題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2016-10-10

