系统找不到[WinError 2]中指定的文件

时间:2017-06-27 20:49:05

标签: python-3.x pycharm

在标题中,我收到此错误,

  

FileNotFoundError:[WinError 2]系统找不到指定的文件:

我是编码的新手,我编码为,在一个名为udacity的网站上完成,跟着他们写了这段代码,

    import os
def rename_files():
    files = os.listdir(r"C:\Users\WIN8\Desktop\oop\prank")
    #print(files)
    saved_path = os.getcwd()
    print("current working directory is" + saved_path)
    os.chdir(r"C:\Users\WIN8\Desktop\oop\prank")
    for file_temp in files:
        os.rename(
            file_temp,
            file_temp.translate(str.maketrans('', '', '0123456789')))
        os.chdir(saved_path)
rename_files()

现在我得到的错误是

Traceback (most recent call last):
  File "C:/Users/WIN8/Desktop/Tumin/First_Program/secret message.py", line 13, in <module>
    rename_files()
  File "C:/Users/WIN8/Desktop/Tumin/First_Program/secret message.py", line 11, in rename_files
    file_temp.translate(str.maketrans('', '', '0123456789')))
FileNotFoundError: [WinError 2] The system cannot find the file specified: '16los angeles.jpg' -> 'los angeles.jpg'

然后我在输入file_temp.translate(None, "0123456789")

时也遇到错误

然后它说的是像error2,一个参数需要两个声明或者其他东西。然后我搜索了问题,并在一个线程中找到了这段代码

(
            file_temp,
            file_temp.translate(str.maketrans('', '', '0123456789')))

但它也没有用。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

试试这个:

import os

def rename_files():
    fileslst = os.listdir(r"/Users/sachin/MACBOOK/prank")
    print(fileslst)
    saved_path = os.getcwd()

    for filename in fileslst:
        os.rename(filename, filename.strip("0123456789"))
        os.chdir(saved_path)

rename_files()
  
    

<强> PLS。注意:
    1.更换“恶作剧”文件夹的路径(包含PC上的文件夹位置)

         

2.将恶作剧作为你当前的工作目录(cwd)来做个好主意     或者将图像放入你的cwd(这可能是你错误的原因

  

以上代码正常运行。

首先打印文件夹中文件的原始名称。

然后,一旦整个代码运行,它将重命名同一文件夹中的文件,而控制台中没有任何输出。 您可以访问该文件夹,看到没有任何文件名有任何数字。

p.s。,如果您不确定当前设置为WD的内容 使用以下代码:

import os    
print('Current working directory path:',os.getcwd())

答案 1 :(得分:0)

问题是循环中os.chdir缩进,它必须在循环之外

import os
def rename_files():
files = os.listdir(r"C:\Users\WIN8\Desktop\oop\prank")
#print(files)
saved_path = os.getcwd()
print("current working directory is" + saved_path)
os.chdir(r"C:\Users\WIN8\Desktop\oop\prank")
for file_temp in files:
    os.rename(
        file_temp,
        file_temp.translate(str.maketrans('', '', '0123456789')))

os.chdir(saved_path)
rename_files()