os.path.exists () возвращает False для имени файла с путем к каталогу, который создается ln (Ubuntu) - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть одно имя файла с именем каталога, которое является ссылкой на другой каталог.os.path.exists (file) возвращает False.

Как правильно проверить, существует ли файл?

Ответы [ 2 ]

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

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

import subprocess

command = 'ls {}'.format(your_path)
print(subprocess.call(command, shell=True))

Это запустит команду ls в linux и получит код возврата , если код возврата равен 0, означает успешное выполнение команды, что означает, что ваш файл ln существует.

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

Если структура каталогов выглядит следующим образом:

.
├── bar -> ./foo/
└── foo
    └── test.txt

os.path.exists возвращает True, как и ожидалось.

import os
print(os.path.exists('./bar/test.txt'))

# True
...