Loading

python os.isfile 判断已有文件不存在怎么解决


实验:工作路径下有一个try.py以及try.txt

import os

print(os.getcwd())

# path\to\cwd
print(os.path.isfile("./try.txt"))
# True
print(os.path.isfile(".\\try.txt"))
# True
print(os.path.isfile("try.txt"))

path = os.path.join(os.path.dirname(__file__), ".\\try.txt")
# path\to\cwd\.\try.txt True
print(path, os.path.isfile(path))

path = os.path.join(os.path.dirname(__file__), "./try.txt")
# path\to\cwd\./try.txt True
print(path, os.path.isfile(path))

path = os.path.join(os.path.dirname(__file__), "try.txt")
# path\to\cwd\try.txt True
print(path, os.path.isfile(path))

path = f'"{path}"'
# "path\to\cwd\try.txt" False
print(path, os.path.isfile(path))

对于一个合法路径path,如果传入的是"path"这个带有"引号的字符串,那么系统将会认为文件不存在


注意,如果路径作为命令行参数传入的话,会自动过滤掉引号
python -u "path\to\cwd\try_path.py" -path "D:\try.txt"

print(sys.argv)
# ['path\\to\\cwd\\try_path.py', '-path', 'D:\\try.txt']
posted @ 2022-04-19 10:00  ZXYFrank  阅读(612)  评论(0编辑  收藏  举报