我真的(两天)对这一切都不熟悉。我试图用python3.7.3脚本删除外部HD文件夹中的一堆文件,但是一个错误不断出现。
首先,这段代码运行良好,并找到了文件夹:
import os
for folderName, subfolders, filenames in os.walk("D:\Practice"):
for filename in filenames:
if filename.endswith('practice.docx'):
#os.unlink(filename)
print(filename)但是,当我删除打印(文件名)删除散列时,无法删除文件夹,并弹出以下错误:
import os
for folderName, subfolders, filenames in os.walk("D:\Practice"):
for filename in filenames:
if filename.endswith('practice.docx'):
os.unlink(filename)os.unlink(文件名) FileNotFoundError: WinError 2系统找不到指定的文件:'rootpractice.docx‘
“根实践”文档是明确的,但不会被删除。
有人知道我怎么能解决这个问题吗?任何帮助这个总初学者是非常感谢的。
发布于 2019-11-14 14:00:18
os.unlink和其他类似的需要文件路径的方法希望获得一个相对于运行脚本的当前文件夹的链接(您可以通过os.getcwd()找到该链接),或者期望获得完整的路径。
当您使用os.walk迭代时,您只传递文件名,而不是完整的路径。试试这个:
import os
for folderName, subfolders, filenames in os.walk("D:\Practice"):
for filename in filenames:
if filename.endswith('practice.docx'):
full_path = os.path.join(folderName, filename)
print("About to delete the file: {}".format(full_path))
os.unlink(full_path)https://stackoverflow.com/questions/58858314
复制相似问题