首先,我想说的是,你这个应该不是说你输入了‘输入'这两个字,系统给你输出的是‘输出'两个字,你这种情况应该是出现了中文。这个问题就变成了,python中如何解决中文的问题了。你现在你文件头部添加#-*-coding:utf-8-*-保证你的文件已utf-8编码格式编码。然后添加
importsys
reload(sys)
(#39utf-8#39)
这三句,基本上就能解决你的问题。平常我都是这样写的。至于什么道理。我也没有深入研究过,无非就是编码解码和一些默认的编码在搞得鬼。具体的可以去看一下相关资料。
python3缺省使用utf-8进行解释执行,同时所有的字符串都是以unicode进行存储。所以如果.py文件中有utf-8编码的中文则程序可以正确解释执行,但是如果程序中gbk编码的中文,还是会报编码相关的错误,这时候就需要使用#codinggbk来显示指定文件的编码。
所以,#codingutf-8/gbk需要根据文件真实的编码进行指定。
python需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(标识符就是合法的名字)。
python标识符规则如下:
1.标识符可以由字母、数字、下划线(_)组成,其中数字不能打头。
2.标识符不能是python关键字,但可以包含关键字。
3.标识符不能包含空格。
由于python3支持utf-8字符集,因此python3的标识符可以使用utf-8所能表示的多种语言的字符。python语言是区分大小写的,因此abc和abc是两个不同的标识符。
我们来看一些例子:abc_xyz:合法。
helloworld:合法。
abc:合法。
xyz#abc:不合法,标识符中不允许出现“#”号。
abc1:合法。
1abc:不合法,标识符不允许数字开头。
#!/usr/bin/python27#coding:utf8文件每字符面加空格withopen(a.txt,r)asfilehandler:withopen(newtxt.txt,w)asfilehandler2:filehandler2.write(.join([fforfhinfilehandlerforfinfh]))!