我们有一堆旧文件(90年代),我们正准备导入一个新系统。其中一些文件的文件名中有一个正斜杠/我们需要在导入之前重命名这些文件(它们最终将在Azure中结束)。在
我们有一些python代码可以遍历目录:
for root, dirs, files in os.walk(base_path):
for filename in files:
path = os.path.abspath(os.path.join(root, filename))
然后尝试重命名它不喜欢使用os.rename
的任何文件。除了在文件名中有正斜杠的文件之外,这一切都很好——即使使用上面计算的path
在这些文件上失败。在
在os.path.exists
中,我们尝试替换:
我们总是得到一个False
回来。以及在尝试os.path.rename
时出现“没有这样的文件或目录”错误。文件名中有一个正斜杠,但操作系统将其视为冒号:-至少os.walk
将文件名报告为。在
我们还得到一个IOError: [Errno 2] No such file or directory
当
我们不能在Finder中手动重命名文件。您会注意到Finder显示带有正斜杠的文件名(抱歉,没有rep-so链接到图像): finder rename error
或者从命令行-文件名显示在这里,并带有冒号: terminal - no such file or directory error
Windows不会列出文件资源管理器或Powershell中的文件。在
所以我想知道有没有人知道如何重命名这些文件,或者以某种方式去掉正斜杠?在
提前谢谢!在
目前没有回答
相关问题 更多 >
编程相关推荐