Python非ASCII字符错误

时间:2014-03-21 13:41:27

标签: python

我写了一个小python代码,意图获取我的系统信息和磁盘大小。我在这里使用子进程模块。

[root@localhost code]# cat pysys.py
#!/usr/bin/python
import subprocess;

def sysinfo():
        subprocess.call(“uname –a”,shell=True)
def diskinfo():
        subprocess.call(“df –h”,shell=True)
def main():
        sysinfo()
        diskinfo()
main()

当我尝试执行时,我收到错误

[root@localhost code]# python pysys.py
  File "pysys.py", line 5
SyntaxError: Non-ASCII character '\xe2' in file pysys.py on line 5, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
[root@localhost code]#

编辑:

[root@localhost code]# cat pysys.py
#!/usr/bin/python
import subprocess;

def sysinfo():
        subprocess.call("uname –a",shell=True)
def diskinfo():
        subprocess.call("df –h",shell=True)
def main():
        sysinfo()
        diskinfo()
main()

[root@localhost code]# python pysys.py
  File "pysys.py", line 5
SyntaxError: Non-ASCII character '\xe2' in file pysys.py on line 5, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
[root@localhost code]#

我错过了什么吗?请告诉我。

谢谢。

2 个答案:

答案 0 :(得分:3)

您的报价看起来很奇怪,请使用shift-2而不是其他内容,即"

ascii 34,hex 22,octal 042

如果您使用vim作为编辑器,则可以使用ga

检查光标下的值

答案 1 :(得分:2)

您似乎使用的是非ASCII字符。( / )。当你从某个地方复制内容时,通常会发生这种情况。

所以修改你的代码如下:

#!/usr/bin/python
import subprocess;

def sysinfo():
        subprocess.call("uname -a",shell=True)
def diskinfo():
        subprocess.call("df -h",shell=True)
def main():
        sysinfo()
        diskinfo()
main()

差异只是-。您使用的是