我在python脚本中搜索文件并存储filepathes。 问题是,在某些情况下,有一些特殊的字符,如öäü 内部(UTF-8表十六进制U + 00C4 U + 00D6 U + 00DC等) 当我用“打印”打印路径时,它显示正确。当我用这个 用于将其发送到os.system()的字符串将特殊字符转义出来 得到UTF错误。
ERRORMSG:
cp -nv /home/rainer/Arbeitsfläche/Videofiles/A047C001_130226_R1WV.mov /media/rainer/LinuxData
Traceback (most recent call last):
File "Clipfinder.py", line 254, in <module>
copyProcess(sourcedir,destdir,cliplist)
File "Clipfinder.py", line 205, in copyProcess
os.system(copycmd)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 29: ordinal not in range(128)
求助! 赖
copycmd = "cp -nv " + pathtoFile_src + " " + destdir
print copycmd
os.system(copycmd)
答案 0 :(得分:2)
使用encode
将unicode转换为字节字符串:
os.system(copycmd.encode('utf-8'))