本文将从多个方面介绍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/n/374146.html