Python 提示用户选择文件名

Python 提示用户选择文件名,python,csv,Python,Csv,如何更改下面的代码,以提示用户输入列号和csv文件名,而不是在代码中说明 #!/bin/env python col = 2 values = [] with open('test.csv', 'r') as csv: for line in csv.readlines(): elements = line.strip().split(',') values.append(int(elements[col])) csum = sum(values) cavg = sum(v

如何更改下面的代码,以提示用户输入列号和csv文件名,而不是在代码中说明

#!/bin/env python

col = 2

values = []
with open('test.csv', 'r') as csv:
for line in csv.readlines():
    elements = line.strip().split(',')
    values.append(int(elements[col]))

csum = sum(values)
cavg = sum(values)/len(values)
print("Sum of column %d: %f" % (col, csum))
print("Avg of column %d: %f" % (col, cavg))
您可以使用:

或者您可以接受命令行参数;为您提供命令行参数列表,其中index
0
是脚本名称,超出该列表的任何内容都是用户在命令行上输入的值:

import sys

if len(sys.argv) < 3:
    print('Please specify a filename and column number: {} [csvfile] [col]'.format(sys.argv[0]))
    sys.exit(1)

filename = sys.argv[1]
col = int(sys.argv[2])
导入系统 如果len(sys.argv)<3: 打印('请指定文件名和列号:{}[csvfile][col]'。格式(sys.argv[0])) 系统出口(1) filename=sys.argv[1] col=int(sys.argv[2]) Python标准库包括一个使处理命令行界面更加灵活和强大的工具

import sys

if len(sys.argv) < 3:
    print('Please specify a filename and column number: {} [csvfile] [col]'.format(sys.argv[0]))
    sys.exit(1)

filename = sys.argv[1]
col = int(sys.argv[2])