Python 非ASCII字符错误
我写了一个小的Python代码,目的是获取我的系统信息和磁盘大小。我在这里使用了subprocess模块。
[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 个回答
3
你的引号看起来很奇怪,使用 Shift+2 键就可以了,也就是输入一个 "
符号。
这个符号在 ASCII 码中是 34,在十六进制中是 22,在八进制中是 042。
如果你在用 vim 编辑器,可以通过按 ga
来查看光标下的字符值。
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()
区别就在于-
。你现在用的是–
。