我写了一个小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]#
我错过了什么吗?请告诉我。
谢谢。
答案 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()
差异只是-
。您使用的是–
。