我一直试图添加" Q3"到一个文件夹中的89个pdf文件的开头。我已设法通过提交的解决方案获得结果HERE
这可以工作,但只有大约10-15个文件才会停止,它会出现各种错误,而且没有定义的顺序意味着每次大约10-15个不同。我要么收到" FileNotFoundError:[WinError 2]系统找不到指定的文件:"或" PermissionError:[WinError 32]进程无法访问该文件,因为它正由另一个进程使用:"
我理解" permissionserror"是因为我正在处理和运行的.py文件与pdf文件位于同一目录中,因此它正在运行此文件。但是在上面的链接解决方案中建议将它放在同一目录中以解决WinError2,在此之前它不会做任何事情。
*代码的第一部分是删除一些显示的不需要的文件,这些文件可能与问题
无关import os
my_dir = "DIRECTORY OF PDF FILES"
for fname in os.listdir(my_dir):
if fname.startswith('Copy') or fname.startswith('SxDI'):
os.remove(os.path.join(my_dir, fname))
for fname in os.listdir(my_dir):
os.rename(fname, "Q3" + fname)
答案 0 :(得分:0)
看起来你正在改变你正在迭代的列表。
尝试:
files_to_rename = [fname in os.listdir(my_dir) if not (fname.startswith('Copy') or fname.startswith('SxDI'))]
for fname in files_to_rename:
os.rename(fname, "Q3" + fname")
这是未经测试的,但我们的想法是先获取您需要更改的所有内容的名称,然后再进行更改。