我正在尝试编写一个程序,该程序将获取文件名并通过更改单词的顺序来重命名它们。它适用于大多数文件,但我有一些文件名中包含日文字符的文件,该程序无法正常工作。我认为这是因为它将字符转换为问号(我已经使用 print 进行了检查)然后找不到文件,因为文件中有日文字符,而不是问号。我该如何解决这个问题?
编辑:是的,我使用的是 Windows。
下面发布了我的代码的重新创建(我对此相当陌生,因此它可能非常低效且难以阅读)。
import os
def Filenames(filelist):
filenames = []
for name in filelist:
name = name.split(".") #Take off file extension
filenames.append(name)
return filenames
def ReformatName(directory):
filelist = []
name = []
filelist = os.listdir(directory)
filenames = Filenames(filelist)
for doc in filenames: #Docs are in form "Date Name Subject DocName", want to turn into "Subject DocName Date"
doc1 = doc.split(" ")
date = doc1[0]
subject = doc1[2]
docname = doc1[3]
newdoc = "%s %s %s.docx" %(subject, docname, date)
doc = ".".join(doc)
os.rename(os.path.normpath(directory + os.sep + doc), os.path.normpath(directory + os.sep + newdoc))