使用bash脚本时,使用filename参数调用Python脚本



我正试图通过调用我的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运行

相关内容

  • 没有找到相关文章

最新更新