Python 访问共享网络驱动器和删除特定文件的最佳方式
我的同事要求我编写一个脚本,删除更新程序后重新出现的特定文件。她一直在手动进入每个驱动器和文件夹,删除更新后添加的垃圾文件 我有一个总是需要删除的文件名列表。我尝试使用python和os.remove,但遇到了一些问题。我必须访问共享网络驱动器,输入文件夹,并删除她总是手动删除的文件列表 我不确定python是否适合这项工作。它可能是Bash或PowerShell,但我对编程不是很精通 如果有人对如何最好地做到这一点提出建议,我将不胜感激 这是我现在的代码,作为示例(同样,不是很熟练): 它给了我一个错误说明:Python 访问共享网络驱动器和删除特定文件的最佳方式,python,bash,powershell,Python,Bash,Powershell,我的同事要求我编写一个脚本,删除更新程序后重新出现的特定文件。她一直在手动进入每个驱动器和文件夹,删除更新后添加的垃圾文件 我有一个总是需要删除的文件名列表。我尝试使用python和os.remove,但遇到了一些问题。我必须访问共享网络驱动器,输入文件夹,并删除她总是手动删除的文件列表 我不确定python是否适合这项工作。它可能是Bash或PowerShell,但我对编程不是很精通 如果有人对如何最好地做到这一点提出建议,我将不胜感激 这是我现在的代码,作为示例(同样,不是很熟练): 它给了
TypeError: remove: path should be string, bytes or os.PathLike, not list
是否必须为每个路径和文件创建一个变量?您可以在列表中循环执行删除操作
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
寻求调试帮助的问题(“此代码为什么不工作?”)应包括所需的行为、特定的问题或错误,以及在问题本身中将其复制为格式化文本所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。Python与任何其他具有文件系统支持的通用编程语言一样能够做到这一点。Python和其他语言一样是一个不错的选择。我想这是Windows。如果您有一个挂载的驱动器,比如T,那么python非常乐意使用基于它的路径。可能
os.remove(“T:/sharedbuild/somefile.txt”)
。有像pathlib.Path.glob
这样的工具可以帮助您查找文件。@tdelaney我添加了一个我正在尝试执行的代码示例。我认为os.remove不允许列表,所以我假设我必须为每个路径和文件创建一个变量。如果有别的办法,请告诉我。
$FilePaths =
@(
'D:\test\remove.txt'
'F:\test\remove.txt'
)
$FilesPaths | Remove-Item