访问共享网络驱动器和删除特定文件的最佳方式

2024-04-24 21:07:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我的同事要求我编写一个脚本,删除更新程序后重新出现的特定文件。她一直在手动进入每个驱动器和文件夹,删除更新后添加的垃圾文件

我有一个总是需要删除的文件名列表。我尝试使用python和os.remove,但遇到了一些问题。我必须访问共享网络驱动器,输入文件夹,并删除她总是手动删除的文件列表

我不确定python是否适合这项工作。它可能是Bash或PowerShell,但我对编程不是很精通

如果有人对如何最好地做到这一点提出建议,我将不胜感激

这是我现在的代码,作为示例(同样,不是很熟练):

import os

filePaths = ['D:\test\remove.txt', 'F:\test\remove.txt']
         
os.remove(filePaths)
print("% s has been removed" % filePaths)

它给了我一个错误说明:

TypeError: remove: path should be string, bytes or os.PathLike, not list

我是否必须为每个路径和文件创建一个变量


Tags: 文件test程序txt脚本文件夹列表os
2条回答

您可以循环浏览删除列表

import os

filePaths = ['D:/test/remove.txt', 'F:/test/remove.txt']
for filePath in filePaths:
    try: 
        print(f"removing {filePath}")        
        os.remove(filePath)
    except OSError as e:
        print(f"Failed, {e}")

注意反斜杠,"\t"是制表符。这些都可以

"D:\\test\\remove.txt"
r"D:\test\remove.txt"
"D:/test/remove.txt"

在PowerShell中:

$FilePaths =
@(
    'D:\test\remove.txt'
    'F:\test\remove.txt'
)

$FilesPaths | Remove-Item

相关问题 更多 >