我是新的python和代码。我花了很多时间试图修复这个错误,但我不知道如何去做。我有一个包含子文件夹的主文件夹,我想将文件从主文件夹移动到子文件夹。这应该可以通过os.rename
或shutil.move
轻松完成,但我无法修复此错误。下面是我正在使用的代码和我得到的错误。在
cdir=os.getcwd()
newdir=cdir+"\subfolder"
src=os.path.join(cdir, fname)
dst=os.path.join(newdir, fname)
os.rename(src,dst)
错误显示目录路径中的双反斜杠,即
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'E:\\ folder\\fname' -> 'E:\\folder\\subfolder\\fname'
正确的路径应该是单反斜杠。我使用的是Windows8.1和python34。有人能帮我吗。我知道这个问题一定是重复的,但我不明白我做错了什么。使用shutil.move
生成类似的错误
双反斜杠正常;它们不是错误的原因。Python总是将字符串表示中的反斜杠加倍,这样您就可以安全地将该值复制到Python解释器中并重新生成确切的字符串:
Python这样做是因为在转义序列中使用了一个反斜杠;}是一个反斜杠,而字母{}。在
'\n'
是一个换行符,而{您的错误在别处;很可能}不会为您创建父文件夹。在
subfolder
尚未创建;os.rename()
或{可以使用^{} function 确保创建路径中的所有文件夹:
^{pr2}$您还需要确保不会意外地在文件名或子文件夹定义中使用单个反斜杠;
\s
不是有效转义,但其他有效且可能产生意外结果。将定义路径的字符串中的反斜杠加倍,或使用原始字符串文本,或改用正斜杠:Windows可以很好地接受正斜杠;它不在乎路径分隔符是向前还是向后。在
相关问题 更多 >
编程相关推荐