我正试图通过调用我的Python脚本的Bash Shell脚本(csv
(来运行我的Python剧本(csv_builder.py
(。在脚本中,我请求输入一个文件名。
bash脚本如下:
chmod +x D:/Users/michaeld/Python/csv_builder/csv_builder.py
python3 D:/Users/michaeld/Python/csv_builder/csv_builder.py
调用输入的Python脚本的开头如下:
#!/usr/bin/python
import sys
import argparse
parser = argparse.ArgumentParser(description = 'This inputs the .csv file')
parser.add_argument('--i', required = True, type = str, help = '.csv filename')
args = parser.parse_args()
csv_name = args.i
# csv_name = input('nEnter the .csv file name: n') This was the original input
我一直试图在命令行上作为运行,但我收到错误:the following arguments are required: --i
:
csv --i file_name.csv
我希望能够在运行Bash-Shell脚本(csv
(时在命令行中定义输入的文件名。有更好的方法吗?如果我能键入csv file_name.csv
,那将是理想的。
我无法重现问题:
$ ./csv --i file_name.csv
$ ./csv --i
usage: csv [-h] [--i I]
csv: error: argument --i: expected one argument
尝试使用./csv
运行您的文件,这样您就可以确保执行的文件是正确的。
# csv.py
import argparse
parser = argparse.ArgumentParser(description='This inputs the .csv file')
parser.add_argument('filename', type=str, help='.csv filename')
args = parser.parse_args()
print(args.filename)
使用python csv.py file_name.csv
运行