尝试时出现WindowsError 32操作系统重命名

2024-10-04 05:21:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是一个基本文件夹REF_IMAGES,我在其中保存了指定语言的引用位图。我有其他几种语言的文件夹,比如REF_IMAGES-ENREF_IMAGES-NL等等

我想创建一个脚本,它将把基本文件夹重命名为它的语言,即REF_IMAGES-xx,然后将所选的语言文件夹重命名为基本文件夹名称。在

为此,我创建了一个txt文件,该文件跟踪文件夹中的原始语言。在

我的代码如下:

import os

# Define paths
baseFolder = 'D:\\IMAGES\\'
imageFolder = 'D:\\IMAGES\\REF_IMAGES'


LanguageFile = 'FolderLanguage.txt'

# Define selected language
language = '-FR'

# Read current language of baseFolder
textFile = open(os.path.join(imageFolder, LanguageFile), "r")
try:
    currentLanguage = textFile.read()
finally:
    textFile.close()

# Rename image folder to original name. This where the error comes up
os.rename(imageFolder, os.path.join(imageFolder, currentLanguage))

# Search for selected language folder and rename it to default one.
for folderName in os.listdir(baseFolder):
    if folderName.endswith(language): # Look for selected language folder
        os.rename(os.path.join(baseFolder, folderName), os.path.join(baseFolder, folderName.split('-')[0])) # Rename selected language folder to base folder
        currentLanguage = language # Save the language the folder is switched to
        textFile = open(os.path.join(imageFolder, LanguageFile), "w")
        try:
            textFile.write("%s" %currentLanguage)
        finally:
            textFile.close()

但是,我在尝试将图像文件夹重命名为其原始名称时遇到以下错误:

^{pr2}$

我试过几个解锁程序,但都没用。我想是脚本本身阻止了它,但我不知道是什么。在

有人知道吗? 问候


Tags: topath文件夹ref语言osfolderlanguage
2条回答

用这个来测试:

 try:
     currentLanguage = textFile.read()
 except WindowsError:
   pass
   textFile.close()


try:
    textFile.write("%s" %currentLanguage)
except WindowsError:
   pass
   textFile.close()

我自己发现的问题! 错误在操作系统重命名语法。通过这样做:

os.rename(imageFolder, os.path.join(imageFolder, currentLanguage))

os.path.join(imageFolder, currentLanguage)的输出是IMAGES\REF_IMAGES\-FR,而不是我预期的{}

我现在使用的语法是:

^{pr2}$

多亏了梅克,他真的引导了我。在

相关问题 更多 >