我正在使用python中的sys.argv做一些代码:
age1.py
import datetime
import os
import sys
if len(sys.argv) == 2:
now_time = datetime.datetime.now()
future_time = now_time + datetime.timedelta(int(sys.argv[1]))
print "date in", sys.argv[1],"days",future_time
elif len(sys.argv) == 4:
print "three paras"
spe_time = datetime.datetime(int(sys.argv[1]),int(sys.argv[2]),int(sys.argv[3]))
now_time = datetime.datetime.now()
diff_time = now_time - spe_time
print "days since then..." , diff_time
如果我在bash中运行代码,如:python age1.py xxxx,程序就可以了 但如果我像./age1.py xxxx那样运行,鼠标将变成像“+”这样的符号,那么程序最终会得到:
"./age1.py: line 5: syntax error near unexpected token `sys.argv'
./age1.py: line 5: `if len(sys.argv) == 2:'
系统:Ubuntu 10.10
Python 2.7.3
有什么理由吗?
答案 0 :(得分:6)
您没有在文件的开头添加#!/usr/bin/python
。
你的shell(bash)试图解释python文件,好像它是用bash脚本编写的,并且失败了。就像给一个3岁的英语儿童一本法语书,而孩子认为这些单词是英语。