【问题标题】:os.rename module raises WindowsError, don't understand why [duplicate]os.rename 模块引发 WindowsError,不明白为什么[重复]
【发布时间】:2018-05-20 22:05:04
【问题描述】:

这是一段sn-p代码。

import os
def rename_files():
file_list = os.listdir(r"C:\Users\Oleg\Desktop\prank\prank")
print (file_list)
saved_path = os.getcwd()
print("Current Working Directory Is "+saved_path)
for x in file_list:
    print x
    x1 = x.translate(None,"0123456789")
    print x1
    os.rename(x, x1)
rename_files()`

问题是它给了我一个错误......

Traceback (most recent call last):
File "C:/Python27/rename_files.py", line 13, in <module>
rename_files()
File "C:/Python27/rename_files.py", line 11, in rename_files
os.rename(x, x1)
WindowsError: [Error 2] ?? ??????? ????? ????????? ????

【问题讨论】:

  • 打开提升的终端并重新运行您的脚本。
  • 该文件是否已在另一个程序中打开?
  • 它真的会打印一堆问号吗?
  • x 和 x1 是什么?
  • 是的,它确实打印了一堆问号。没有任何文件在任何其他程序中打开。你们认为问题可能是什么?

标签: python windows python-2.7


【解决方案1】:

重命名文件时您没有使用列出的路径,请尝试:

import os

def rename_files(path):
    file_list = os.listdir(path)
    print(file_list)
    for x in file_list:
        print(x)
        x1 = x.translate(None,"0123456789")
        print(x1)
        os.rename(os.path.join(path, x), os.path.join(path, x1))

rename_files(r"C:\Users\Oleg\Desktop\prank\prank")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-05
    • 2012-10-13
    • 2021-11-18
    • 2022-01-23
    相关资源
    最近更新 更多