Python€;在文件名中

Python€;在文件名中,python,unicode,python-2.x,Python,Unicode,Python 2.x,我需要能够读取或重命名包含以下字符的文件:€。 这个角色有一个随机的位置,我用a。我怎么做 import os os.rename("C:\\Python2\\"+u"€.txt","test.txt") 寄给我: Traceback (most recent call last): File "test.py", line 21, in <module> os.rename("C:\\Python2\\"+u"Ôé¼.txt","test.txt") 回溯(最近一次

我需要能够读取或重命名包含以下字符的文件:€。 这个角色有一个随机的位置,我用a。我怎么做

import os
os.rename("C:\\Python2\\"+u"€.txt","test.txt")
寄给我:

Traceback (most recent call last):
  File "test.py", line 21, in <module>
    os.rename("C:\\Python2\\"+u"Ôé¼.txt","test.txt")
回溯(最近一次呼叫最后一次):
文件“test.py”,第21行,在
重命名(“C:\\Python2\\”+uÔÔ¼.txt”、“test.txt”)
将“€”替换为“\u20ac”

这是欧元符号的unicode

mytext = "C:\\Python2\\\u20ac.txt"
print(mytext)
结果是:

C:\Python2\€.txt
C:\Python2\€.txt
为Python 2编辑:

eurosign = u"\u20AC"
mytext = "C:\\Python2\\" + eurosign + ".txt"
print(mytext)
结果是:

C:\Python2\€.txt
C:\Python2\€.txt
使用方法:


我不是python高手,但是你的变量
u
两边都应该有加号吗
“C:\\Python2\\”+u+“€.txt”
@KieranE
u
是Python2.x的有效语法-这将创建一个
unicode
string@KieranE,不,不应该,因为
u
不是变量,但是一个构造Unicode字符串的说明符。您可能应该放弃它,改用Python 3.x,因为它有更好的Unicode支持。您现在知道文件名了吗?还是它总是随机的?#/usr/bin/python#--coding:UTF-8--“ascii”编解码器无法解码第11位的字节0xe2:序号不在范围内(128)@ArturodelPino抱歉,请立即尝试。在Windows 10上使用Python 2.7进行测试在Windows 7上进行测试(西班牙语)回溯(最近一次调用最后一次):文件“test.py”,第5行,在os.rename(“C:/Python27/ÔÔ¼.txt”).decode('UTF-8'),“test.txt”)窗口错误:[错误3]系统不支持特殊的ruta,对不起,效果很好!!'charmap'codec无法对位置11中的字符u'\u20ac'进行编码:字符映射到@ArturodelPino能否请在控制台中运行此命令并重试
chcp 65001
@ArturodelPino如果不起作用,请在运行脚本之前尝试此命令:
set pythonionecoding=utf-8