这是我的代码:
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')))
...代码有点长并继续绘制图表
问题1:inp = open(sys.argv [1],' r')#此语法意味着您需要在终端中调用py文件后列出文件名。但是,我真的不明白如何做到这一点?
当我在控制台中写入len(sys.argv)时,输出为1 这意味着它只有脚本名称
问题2:如何将我的数据(文本文件)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
答案 0 :(得分:1)
问题1: 你可以按如下方式打电话给你的程序
python3 my_script.py data.txt
data.txt现已添加到sys.argv
为了在控制台中获取命令行参数并运行脚本,您需要使用-i
标志调用python,即
python3 -i my_script.py data.txt
问题2:
将文本添加到文本文件,例如data.txt
,然后像问题1一样调用脚本。