Принимая файлы в качестве входных данных в аргументах командной строки в Python - PullRequest
0 голосов
/ 26 сентября 2018

Я беру путь в качестве ввода в командной строке, но он не принимает ввод из другого каталога, мой код такой

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.3-й аргумент определяет путь для выходного файла.

1 Ответ

0 голосов
/ 26 сентября 2018

если вы пытаетесь читать из другого каталога, то, возможно, вам следует вместо этого передать путь к файлу непосредственно в функцию load_workbook.

Функция os.path.basename возвращает имя файла Input1.xlsx .Поскольку вы вызвали скрипт из другого места, он не сможет обнаружить файл из исходного каталога.Прямо сейчас ваш сценарий пытается найти ваши входные файлы из того же каталога, что и ваш Final.py, или из любого другого места, к которому вы переходили, прежде чем пытаться загрузить книги.

...