Возникли проблемы при использовании файла в качестве аргумента командной строки в том же каталоге, что и сценарий python - PullRequest
0 голосов
/ 18 февраля 2020

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

На данный момент у меня есть следующее:

import sys
java_file = open(sys.argv[1],"r")
<rest of file>

Что отлично работает, если у меня есть аргумент командной строки, подобный этому:

python.exe "D:\<user>\<more file directories>\balanced.py" "D:\<user>\<same file directories>\Driver.java"

Я хотел бы, чтобы аргумент командной строки был примерно таким:

python.exe "D:\<user>\<more file directories>\balanced.py" Driver.java

Запуск в командной строке Windows 10 с использованием Python 3.7.3.

1 Ответ

0 голосов
/ 18 февраля 2020

на Windows, sys.argv[0] должен быть полный путь к вашему сценарию, поэтому вы можете использовать os.path.split(sys.argv[0])[0], чтобы получить путь, затем os.path.join(), чтобы присоединиться к нему

import sys, os
java_file = open(os.path.join(os.path.split(sys.argv[0])[0], sys.argv[1]))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...