python新手,想了解argv语法

时间:2016-09-14 12:01:42

标签: python-3.x syntax compiler-errors command-line-arguments 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')))

...代码有点长并继续绘制图表

问题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

1 个答案:

答案 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一样调用脚本。