簡體   English   中英

運行“ ./script”會在導入語句后獲得語法錯誤,但“ python腳本”可以正常工作

[英]running “./script” gets syntax error after import statements, but “python script” works fine

我正在用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
有什么原因嗎?

您沒有在文件開頭添加#!/usr/bin/python

您的shell(bash)試圖將python文件解釋為好像是用bash腳本編寫的一樣,但失敗了。 就像給三歲的說英語的孩子送一本法語書,並且那個孩子認為單詞是英語一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM