--教育不是灌输,而是点燃火焰,学习编程成就更好的自己--
Python语言简洁生动,特别适合文科生学习入门IT世界,用几十行代码就能够做一个完整的爬虫脚本,开发效率杠杠的!短时间内即可解决工作和学习中碰到的各种棘手问题。(本人外语专业毕业,机缘巧合爱上编程,自学道路曲曲折折,痛并快乐!)这里总结一下自学Python遇到的难点和重点,分享码过的代码和要点总结,希望能够给初学者一点启示和鼓励,同时愿意结交更多大神交流有助提升自己的水平。
今天分享一个基础知识点-如何获取指定路径内所有文件名列表并保存到txt文件中,因为平时在处理问题时需要掌握当前目录下都有什么文件,可以根据实际情况完成批处理或读取指定文件内容等任务,接下来展开详细介绍:
首先了解几个os模块的常用操作方法:
指定路径内创建一个txt文件:
txt_name = work_path + os.sep + "Total-List-Files-Names" + ".txt" #dim a txt name
file_txt = open(txt_name, "w")
file_txt.close()
OS是Python内置最基础和实用的模块,小白要尽快熟悉和掌握常用的操作方法,os.sep表示路径和文件名的分隔符,txt文件是大家熟悉和方便操作的文件格式,通过open(“xxx.txt”,"w")方法能够创建新的txt文件。
指定路径内删除一个txt文件:
os.remove(txt_name)
删除一个指定文件只需要os.remove()方法就可以了,如果这个名字的txt文件在处理之前恰好已经有了,想要先判断这个txt文件存在后删除再新建同名txt文件呢?
指定路径内预先判断删除特定txt文件后再次生成同名txt文件:
处理前
如下所示-指定路径内已经包含了名为Total-List-Files-Names的txt文件:
处理后
txt_name = work_path + os.sep + "Total-List-Files-Names" + ".txt" #dim a txt name
if os.path.exists(txt_name):
os.remove(txt_name)
通过os.path.exists()方法就能判断当前路径内是否有特定名称的txt文件存在,如果有就执行删除命令。
了解了这些基础知识点后,来看看今天的题目如何解决吧:
编写一个自定义函数,该函数来完成今天的任务,如下:
如图所示,生成txt文件打开查看到当前目录内所有文件名,但不包含这个txt文件名本身。
代码汇总如下:
import os
def Set_Work_Path(x):
try:
os.chdir(x)
route = os.getcwd()
print(route)
return route
except Exception:
print("No Result")
work_path = r"E:\DATA\27AUG21" #Use r to avoid error of number unreadable like \21
Set_Work_Path(work_path)
def Get_File_List_Txt():
try:
path = os.getcwd() #get the current path
txt_name = path + os.sep + "Total-List-Files-Names" + ".txt" #dim a txt name
if os.path.exists(txt_name):#check if the txt_name already exits, and if yes delete it
print("The dedicated txt name is just here!!! And it will be deleted!")
os.remove(txt_name)
else:
print("The dedicated txt name is not found!!!")
files = os.listdir(path) #check and get all files name in the path
txt_list = path + os.sep + "Total-List-Files-Names" + ".txt" # create a new file name of txt
file_txt = open(txt_list, "w") #open the txt file and input data into it
for i in range(0, len(files), 1):#to get the list of file names
file_txt.write(str(i + 1) + "." + files[i] + '\n')
except Exception:
pass
print("Well Done!!!")
Get_File_List_Txt()
这个任务貌似不复杂但涉及到了很多细节知识,例如:列表基本循环遍历装入数据,生成txt文件并写入数据,如何预先判断指定文件是否存在等。大家也要自己动作练习一下这些基础要点,方便在实际项目中不会在小问题上犯错和跌倒,俗话说得好“细节决定成败!!!”。
END
我为人人,人人为我!!欢迎大家关注,点赞和转发!!!
~~人生不是赛场,梦想不容退场~~不断努力学习蜕变出一个更好的自己,不断分享学习路上的收获和感悟帮助他人成就自己!!!