0

這是我的代碼:新的Python和想了解的argv語法

import sys 
    inp = open(sys.argv[1],'r') 
    F=[] 
    A=[] 
     for i in inp: 
     ar = i.split() 
     F.append(float(ar[0])) 
     A.append(complex(str(ar[1]).replace('i','j'))) 

...代碼是有點長,並繼續繪製曲線圖

QUES 1:INP =開放(sys.argv [1],'r')#此語法意味着您需要在終端中的py文件調用後列出文件名。但是,我無法真正理解這是如何完成的?

當我寫 - LEN(sys.argv中)在控制檯中,我的輸出爲1 這意味着它只有腳本名

Ques2:我如何通過我的數據(文本文件)enter code here作爲一個參數?數據文件是一個兩列,第二列爲複數。

如果我只是運行的代碼,我收到以下錯誤: IndexError:列表索引超出範圍

例如,該數據是這樣的:

2.908 2+0.6i 
1.05 1.9818-0.073097i 
1.0321 5.98225-0.075645i 
1.0503 1.98193-0.07609i 

回答

1

問題1 : 你會打電話給你的程序如下

python3 my_script.py data.txt 

的data.txt是現在加入sys.argv

爲了獲得在控制檯的命令行參數和運行腳本,你需要調用蟒蛇與-i標誌,即 python3 -i my_script.py的data.txt

問題2: 將文本添加到文本文件,例如data.txt然後像問題1一樣調用腳本。