在python的命令行参数中将文件作为输入

时间:2018-09-26 05:31:38

标签: excel python-3.x command-line-arguments openpyxl

我将path作为命令行中的输入,但是它没有从其他目录中输入,我的代码就是这个

filename1 = os.path.basename(sys.argv[1])
filename2 = os.path.basename(sys.argv[2])
filename3 = os.path.basename(sys.argv[3])
wk1 = openpyxl.load_workbook (filename1)
wk2 = openpyxl.load_workbook (filename2)

并传递这样的命令行参数,

python Final.py "C://Users//Folder One//Folder Two//Input1.xlsx" 
"C://Users//Folder One//Folder Three//Input2.xlsx" "C://Users//Folder 
One//Folder Four/Output.xlsx"

FileNotFoundError: [Errno 2] No such file or directory: 'Input1.xlsx'

我需要输入2个文件并将输出存储在第三个文件(即Output.xlsx)中。第三个参数决定输出文件的路径。

1 个答案:

答案 0 :(得分:1)

如果您尝试从另一个目录读取,则应该将文件路径直接传递给load_workbook函数。

os.path.basename函数返回文件 Input1.xlsx 的名称。由于您是从其他位置调用脚本的,因此它将无法从源目录检测文件。现在,您的脚本会尝试从与Final.py相同的目录中查找输入文件,或者尝试在尝试加载工作簿之前导航至的其他位置。