Python代码报错 FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python代码报错 FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。相关的知识,希望对你有一定的参考价值。

import os

path='C:\\Users\\Administrator\\Desktop\\test'
fdname='2'
photo='1.jpg'
if not os.path.exists(path+fdname):
os.makedirs(r'%s/%s'%(os.getcwd(),fdname))
shutil.move(photo, fdname)
else:
shutil.move(photo, fdname)
不是写else,为什么不能在文件夹2存在时直接将文件移动如文件夹2?
附错误信息:
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\test\照片整理.py", line 22, in <module>
os.makedirs(r'%s/%s'%(os.getcwd(),fdname))
File "C:\Python34\lib\os.py", line 237, in makedirs
mkdir(name, mode)
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\Administrator\\Desktop\\test/2016.05'
[Finished in 0.4s with exit code 1]
[shell_cmd: python -u "C:\Users\Administrator\Desktop\test\照片整理.py"]
[dir: C:\Users\Administrator\Desktop\test]
[path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Windows7Master;D:\Program Files\Windows7Master;C:\Python34;C:\Python34\Scripts]

出现此问题的原因为:编码错误。

解决的方法和详细的操作步骤如下:

1、首先,将汉字存储在程序文件中时,如果文件未声明编码格式,则会出现错误信息,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,根据错误提示,在python官方网站上获得以下帮助信息,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,根据帮助文档中的提示和示例,在Python文件中添加了一条编码语句,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,再次运行并成功运行,如下图所示,然后进入下一步。

5、随后,完成上述步骤后,尽管已声明了编码,但是由于编码声明的位置不正确,因此在执行上述写入操作后仍会报告错误。
 声明的编码必须在文件的第1行或第2行,并且第1行不能包含中文字符,如下图所示,然后进入下一步。

6、最后,完成上述步骤后,修改完成,可以成功运行,如下图所示。这样,问题就解决了。

参考技术A

Python代码报错是编码错误,解决方法如下:

1、当程序文件中,存在中文字符时候,文件未声明编码格式就会出现报错信息。

2、根据错误提示,我们在python官网得到如下帮助信息:如果没有其他编码提示,Python将默认为ASCII作为标准编码。

3、所以,按照帮助文档的提示以及例子,我们在Python文件中加入一个编码声明。

4、保存之后,再次运行,运行成功。


5、虽然声明了编码,但是以上写法运行之后仍然报错,是因为编码声明的位置不正确,声明编码必须在文件的第1行或者第2行,且第1行不能包含中文字符。

6、修改之后就可以成功运行了。

注意事项:

有时候已经声明了编码,但是还会报错,是因为声明编码的位置不正确。

参考技术B 你看报错信息那里的那个路径有问题啊,那个路径是怎麼生成的。
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\Administrator\\Desktop\\test/2016.05'追问

这句错误信息应该是
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\Administrator\\Desktop\\test/2'
已经有一个名称为2的文件时,else那句不是可以直接把照片移进去吗?

追答

你电脑中有这个路径 C:\\Users\\Administrator\\Desktop\\test/2

追问

存在呢,2是个test下一个文件夹

追答

C:\\Users\\Administrator\\Desktop\\test/2 这个路径不对啊,你确定你能访问这个路径?

本回答被提问者采纳

以上是关于Python代码报错 FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu中安装好了mininet 但是运行python代码时,报错?

python3 turtle使用报错,代码没有对齐

python代码报错No module named numpy问题

Python异常捕获和处理,代码异常报错也能那么和谐且个性

为啥我的这段python代码运行不出来结果,也没报错,跪求大神指点

[每日一记] Python报错 IndentationError: unexpected indent