本文將從多個方面介紹Python獲取py文件目錄及其應用,包括獲取py文件所在目錄和父目錄、獲取某個路徑下所有py文件、查找某個目錄下特定文件名的py文件、以及將當前目錄及其子目錄下所有py文件的絕對路徑寫入文本文件。
一、獲取py文件所在目錄和父目錄
import os
# 獲取當前py文件所在目錄
dir_path = os.getcwd()
# 獲取當前py文件所在父目錄
parent_path = os.path.dirname(dir_path)
print('當前py文件所在目錄:', dir_path)
print('當前py文件所在父目錄:', parent_path)
代碼解析:
使用os模塊中的getcwd()函數獲取當前py文件所在目錄,使用os.path模塊中的dirname()函數獲取當前py文件所在父目錄。
二、獲取某個路徑下所有py文件
import os
def get_all_py_files(path):
py_files = []
for root, dirs, files in os.walk(path):
for f in files:
if f.endswith('.py'):
py_files.append(os.path.join(root, f))
return py_files
# 獲取當前py文件所在目錄下所有py文件
all_py_files = get_all_py_files(os.getcwd())
print('當前py文件所在目錄下所有py文件:', all_py_files)
代碼解析:
使用os模塊中的walk()函數遍歷某個路徑下的所有文件和目錄,使用endswith()方法判斷文件名是否以’.py’結尾,如果是就將文件路徑添加到py_files列表中。
三、查找某個目錄下特定文件名的py文件
import os
def search_py_files(path, name):
py_files = []
for root, dirs, files in os.walk(path):
for f in files:
if f == name+'.py':
py_files.append(os.path.join(root, f))
return py_files
# 查找當前py文件所在目錄下名為'sample'的py文件
py_files = search_py_files(os.getcwd(), 'sample')
print('當前py文件所在目錄下名為sample的py文件:', py_files)
代碼解析:
同樣使用os模塊中的walk()函數遍歷某個路徑下的所有文件和目錄,使用’==’判斷文件名是否為目標文件名+’.py’,如果是就將文件路徑添加到py_files列表中。
四、將當前目錄及其子目錄下所有py文件的絕對路徑寫入文本文件
import os
def write_py_files_to_file(path):
py_files = []
for root, dirs, files in os.walk(path):
for f in files:
if f.endswith('.py'):
py_files.append(os.path.join(root, f))
with open('py_files.txt', 'w') as f:
for py_file in py_files:
f.write(py_file+'\n')
# 將當前py文件所在目錄及其子目錄下所有py文件的絕對路徑寫入文本文件
write_py_files_to_file(os.getcwd())
代碼解析:
同樣使用os模塊中的walk()函數遍歷某個路徑下的所有文件和目錄,使用endswith()方法判斷文件名是否以’.py’結尾,如果是就將文件路徑添加到py_files列表中。
使用with關鍵字打開文件,指定文件名為’py_files.txt’,指定打開模式為’w’(寫入模式),循環遍歷py_files列表,使用write()方法將每個py文件路徑加上換行符寫入文件。
五、小結
本文從四個方面介紹了Python獲取py文件目錄的方法及應用,覆蓋了獲取py文件所在目錄和父目錄、獲取某個路徑下所有py文件、查找某個目錄下特定文件名的py文件、以及將當前目錄及其子目錄下所有py文件的絕對路徑寫入文本文件。
原創文章,作者:TPTPZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/374146.html