重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import os
def file_name_walk(file_dir):
for root, dirs, files in os.walk(file_dir):
print("root", root) # 当前目录路径
print("dirs", dirs) # 当前路径下所有子目录
print("files", files) # 当前路径下所有非目录子文件
file_name_walk("./")
# root ./
# dirs ['test']
# files ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py']
# root ./test
# dirs []
# files ['test.txt']
返回指定路径下所有的文件和文件夹列表,但是子目录下文件不遍历。
创新互联主要从事网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务息县,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
def file_name_listdir(file_dir):
for files in os.listdir(file_dir): # 不仅仅是文件,当前目录下的文件夹也会被认为遍历到
print("files", files)
file_name_listdir("./")
# files 200-2000(1).txt
# files 200-2000(2).txt
# files 200-2000(3).txt
# files getFileName.py
# files test
注意:使用os.listdir函数不仅是文件,文件夹也会被遍历到,例如test即是一个文件夹。
如果想要保存文件名可以使用全局变量或者局部变量进行保存。
如果使用全局变量,则每次调用函数的信息都存在全局列表中
Files_Global = []
def file_name_listdir_global(file_dir):
for files in os.listdir(file_dir):
Files_Global.append(files)
file_name_listdir_global(".")
file_name_listdir_global("./test")
# 最终的结果都会被保存到全局列表变量中
print("Files_Global: ", Files_Global)
# Files_Global: ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py', 'test', 'test.txt']
此处使用os.listdir函数将遍历得到的结果都保存到全局变量Files_Global中,则其中包含了遍历"."当前文件夹和"./test"当前文件夹中的test文件夹中的所有信息
局部变量,只保存本次函数调用得到的结果,通过返回值保存
建议使用局部变量加返回值的方式
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def file_name_listdir_local(file_dir):
files_local = []
for files in os.listdir(file_dir):
files_local.append(files)
return files_local
file_local_1 = file_name_listdir_local(".")
file_local_2 = file_name_listdir_local("./test")
print("file_local_1:", file_local_1) # 当前目录下文件
print("file_local_2", file_local_2) # 子目录test下文件
# file_local_1: ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py', 'test']
# file_local_2 ['test.txt']
选取特定文件类型
选取文件名中所有txt后缀名的文本文件
def file_name(file_dir):
File_Name=[]
for files in os.listdir(file_dir):
if os.path.splitext(files)[1] == '.txt':
File_Name.append(files)
return File_Name
txt_file_name=file_name(".")
print("txt_file_name",txt_file_name)
# txt_file_name ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt']