我创建了一个脚本来根据特定条件重命名文件夹中的文件。在
if len(self.toLoc.get()) == 0:
searchRev = "_R" + newRev
for filename in os.listdir(App.pdfDir):
try:
filePath, fileExtension = os.path.splitext(filename)
sep = searchesri
rest = filename.split(sep, 1)[0] + searchRev + fromLocation + fileExtension
if fileExtension == '.pdf':
shutil.move(os.path.join(App.pdfDir, filename), os.path.join(App.pdfDir, rest))
elif fileExtension == '.xlsx':
shutil.move(os.path.join(App.pdfDir, filename), os.path.join(App.pdfDir, rest))
except IOError:
print ("Errror")
我正在尝试使用try和except在进行任何重命名之前查看文件是否已打开。从现在开始,如果文件是打开的,程序会弹出“错误”消息并重命名文件,但在目录中保留原始文件的副本。我希望有一种方法可以在开始重命名之前检查文件是否打开?谢谢你的建议。在
编辑:Possible duplicate
您可以先尝试
open
该文件,如果该文件是:为了确保文件在检查之后和过程中不会被打开,
shutil.move
是原子的(在使用时本质上锁定访问)when on the same filesystem。在相关问题 更多 >
编程相关推荐