Python os.rename()提供WindowsError:[Error 123]文件名、目录名或卷标语法不正确错误

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 =[]

我已经编写了一个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 =[]
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
生成路径。您在尝试之前是否已尝试打印新文件名?正如上面的评论所说,这可能与您手动构建这些路径的方式有关。非常感谢。成功了。