![](/img/trans.png)
[英]Python: How to move a file with unicode filename to a unicode folder
[英]how to move file to specific folder(unicode) in python
我想将文件移到特定文件夹。
但是,由于Unicode问题,因此无法移动文件。
import os
import shutil
file=r"c:/test/test.rar"
folder=r"c:/test/発射"
shutil.move(file, folder)
#os.rename(file, os.path.join(folder, os.path.split(file)[1]))
“ shutil.move”和“ os.rename”返回“ [[Errno 22]无效模式('wb')或文件名”和“ WindowsError:[Error 123]文件名”。 他们无法识别Unicode文件名。
我搜索了许多解决方案,但无法解决。
这可以解决吗?
预先感谢您的帮助。
尝试使用系统的编码对文件夹名称进行编码:
import sys
folder = r"c:/test/発射".encode(sys.getfilesystemencoding())
另外,如果您想使用os.rename
我建议您以以下方式重写行:
os.rename(file, os.path.join(folder, os.path.basename(file)))
从NT 3版本开始,Windows提供了本机允许的unicode文件名,前提是字符位于基本多语言平面中(unicode代码小于或等于U + FFFF)。 简单地说,您应该在文件夹名称中添加一个“ /”。 因此,如果该文件夹存在,则在Python 3中应该可以使用:
file="c:/test/test.rar"
folder="c:/test/\u767a\u5c04/"
shutil.move(file, folder)
我强迫非ASCII字符使用Unicode代码,因为编辑器可能使用了错误的编码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.