Как указать абсолютный путь вместо относительного пути - PullRequest
0 голосов
/ 30 марта 2019

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

Как показано ниже,

path=sys.argv[1]

with open(path,"r") as filestream: 

for line in filestream:
    currentline=line.split(",")
    salt=currentline[0]
    X=int(currentline[1])

Однако при указании абсолютного пути я получаю сообщение об ошибке FilenotFound. Работает при указании относительного пути.

Есть ли способ это исправить?

1 Ответ

1 голос
/ 30 марта 2019

Для тестирования вам нужно print(f'Openining {path}'), чтобы увидеть, какой параметр на самом деле находится внутри программы.

Я подозреваю, что вы передаете путь, содержащий пробел.Если вы используете путь, указанный в командной строке, в котором есть пробелы, вам нужно будет заключить путь в двойные кавычки в Windows или экранировать его с обратной косой чертой, скажем, на MacOS.

Например,, на Mac, я успешно использую python3 test.py /Users/preston/Desktop/untitled\ folder/test.py.

...