os.path.exists()对于由ln(Ubuntu)创建的具有目录路径的文件名返回False

时间:2018-09-25 01:22:33

标签: python-3.x os.path

我有一个文件名,该文件名具有目录链接到另一个目录的名称。 os.path.exists(file)返回False。

检查文件是否存在的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

如果目录结构如下:

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

os.path.exists按预期返回True

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

# True

答案 1 :(得分:0)

似乎您正在确认目录的存在,而不是文件。我认为subprocess模块可以为您提供帮助。

import subprocess

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

这将在Linux上运行ls命令并获得returncode,如果returncode为0则表示成功运行了命令,这意味着您的ln文件存在。