Python os.rename()提供WindowsError:[Error 123]文件名、目录名或卷标语法不正确错误
我已经编写了一个Python脚本来重命名文件夹中的所有文件。代码是:Python os.rename()提供WindowsError:[Error 123]文件名、目录名或卷标语法不正确错误,python,windows,ubuntu,scripting,python-os,Python,Windows,Ubuntu,Scripting,Python Os,我已经编写了一个Python脚本来重命名文件夹中的所有文件。代码是: import os import sys import platform walk_dir = dir_path = os.path.dirname(os.path.realpath(__file__)) print('walk_dir = ' + walk_dir) print('walk_dir (absolute) = ' + os.path.abspath(walk_dir)) filePathList =[]
import os
import sys
import platform
walk_dir = dir_path = os.path.dirname(os.path.realpath(__file__))
print('walk_dir = ' + walk_dir)
print('walk_dir (absolute) = ' + os.path.abspath(walk_dir))
filePathList =[]
for root, subdirs, files in os.walk(walk_dir):
for filename in files:
file_path = os.path.join(root, filename)
filePathList.append(file_path)
total = len(filePathList)
print str(total) + " files found.\n\n\n"
count = 0
for file in filePathList:
count = count + 1
if file == os.path.realpath(__file__):
continue
old_file_name = file
parentDirectories = str(file).split('/')
dir_lenght = len(parentDirectories)
new_file_name = ''
index = 0
while index < dir_lenght - 1:
new_file_name = new_file_name + parentDirectories[index] + '/'
index = index + 1
new_file_name = new_file_name + parentDirectories[dir_lenght -2] + '_' + parentDirectories[dir_lenght - 1]
os.rename(old_file_name, new_file_name)
为什么此脚本在不同的操作系统中表现不同?
如何使此脚本也在Windows操作系统中工作?为什么此脚本在不同的操作系统中表现不同?因为您正在手动构建文件系统路径,并且在不同的操作系统中工作方式不同(\vs/)。尝试使用
os.path.join
生成路径。您在尝试之前是否已尝试打印新文件名?正如上面的评论所说,这可能与您手动构建这些路径的方式有关。非常感谢。成功了。