这是我第一次问关于stackoverflow的问题,所以让我知道我做错了什么。
我正在尝试使用os库重命名文件。我希望文件名在生成的字符串中包含一些非ASCII字符。这是代码:
Button_Click
以下是newFileName字符串的示例:“ te©st©.txt”
但是,当文件保存时,它会添加一个额外的字符:“ te©st©.txt”
从其他读物来看,听起来好像utf-8实际上将某些代码映射到两个字符或类似的字符,这就是Â的来源。如果在调用os.rename之前就立即打印了字符串,它将以我期望的方式打印到终端。所以我猜想它一定是os.rename与文件系统交互的方式。
我正在使用Windows。
答案 0 :(得分:0)
也许您可以尝试完全使用unicode? p>
path = u'99 bottles of \N{greek small letter beta}eer on the wall.txt'
f = open(path, 'w')
f.write('Hello, World!\n')
f.close()
import glob
print(glob.glob(path)) # ['99 bottles of βeer on the wall.txt']
import os
print(os.path.getsize(path)) # 15