簡體   English   中英

命令行輸入

[英]Command-line input

我需要編寫一個完整的程序來獲取三段數據,然后對其進行處理。 這三項信息是布爾值,字符串和整數。 程序的邏輯是這樣的:如果布爾值是True,則將字符串輸出兩次,一次用雙引號引起來,一次不使用雙引號-否則將輸出兩次。 我可以做的很好,但是然后我必須編寫相同的程序,但是這次使用命令行輸入,到目前為止,下面的程序是我所擁有的,但是我一直遇到找不到命令的錯誤。我覺得我的“ for我在范圍內”是錯誤

 import sys

 def main():
     x = sys.argv[0].lower() == 'true'
     y = str(sys.argv[1])
     z = int(sys.argv[2])
     for i in range(0,len(sys.argv),1):
        print("   ",i,":",sys.argv[i])
     return 0;

當文件不在$ PATH中或從未使文件可執行時,shell響應為“找不到命令”。 首先確保它可以通過以下方式執行

chmod +x myfile.py

第二,確保它在您的路徑中

which myfile.py

如果它不在您的路徑中,則需要使用顯式路徑(例如“ ./myfile.py”)執行它

如果它不是可執行文件,並且您沒有將其更改為可執行文件,則需要使用

python [full path or .]/myfile.py

在您的評論中,您說您用“ python3”執行了它,請再次檢查它是否對您的系統是正確的。

我差點忘了補充說,腳本中的第一行需要

#!/usr/bin/python

或系統中的任何python指向

def main():
     x = sys.argv[1].lower() == 'true'
     y = str(sys.argv[2])
     z = int(sys.argv[3])
     if x:
         print "'{}'".format(y)
         print '"{}"'.format(y)
     else:
         print 2*z
     return 0;
if __name__ == '__main__':
     main()

將此另存為myfile.py
然后從外殼運行: chmod +x myfile.py && python myfile.py

暫無
暫無

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

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