Передача местоположения файла в python

Я совершенно новичок в Linux и Ubuntu.

Я написал Python-код в Windows и хочу запустить его в Ubuntu. Он использует текстовый файл для ввода. «Путь к файлу» в Windows выглядит следующим образом

c:user\documents\python\file.txt

Как записывается местоположение для Ubuntu?

6
задан 24 August 2017 в 12:57

3 ответа

Вместо того, чтобы жестко кодировать пути в вашем скрипте Python, мы должны использовать операцию пути из модуля os .

os.path.expanduser ( путь ) расширяет путь к домашнему каталогу пользователя
os.path.join ( path1 , * path2 *, ...) объединяет элементы пути с соответствующим разделителем
os.sep дает зависимый от ОС разделитель пути (/ для Linux / Unix, \ для Windows)
os.getcwd () дает текущий рабочий каталог
os.path.abspath (путь) дает OS-зависимый абсолютный путь для данного пути

Пример:

>>>import os
>>>path = os.path.join(os.path.expanduser('~'), 'documents', 'python', 'file.txt')
>>>print (path)

Результат

/home/user/documents/python/file.txt ## when on Ubuntu
C:\Users\user\documents\python\file.txt ## when running Windows
0
ответ дан 24 August 2017 в 12:57

У меня нет разрешения добавить комментарии..., таким образом, я просто попытаюсь ответить.

Путь в UNIX будет похож: /home/user/file.txt

Когда Вы в любой папке и хотите получить полный путь файла, Вы могли использовать readlink команда:

readlink -f file.txt

пример в нашем сервере:

$ readlink -f format.log 
/home/dli/format.log
2
ответ дан 24 August 2017 в 12:57

Пути к файлам записываются как-

/path/to/file

Все в вашей домашней папке находится внутри /home/username/

Итак, если у вас есть файл на рабочем столе, он находится в /home/username/Desktop/

Другие разделы смонтированы в /media по умолчанию.

Если вы хотите напрямую получить путь к файлу, вы можете скопировать файл и вставить его в текстовый редактор, это должно дать вам путь к вашему файлу. Поставьте \ перед каждым пробелом в пути, чтобы «убежать» от пробела. например /media/myuseraccount/Desktop/an awesome file будет записано как:

/media/myuseraccount/Desktop/an\ awesome\ file

Еще одна вещь, на которую следует обратить внимание, это то, что в Linux ваши имена файлов чувствительны к регистру, поэтому «рабочий стол» - это не то же самое, что «рабочий стол».

Наконец, ярлык для вашей домашней папки должен набрать ~

Итак, вы можете получить доступ к вашему рабочему столу, набрав:

~/Desktop

и вы можете получить доступ к вашей домашней папке с помощью набрав:

~/
0
ответ дан 24 August 2017 в 12:57

Другие вопросы по тегам:

Похожие вопросы: