1. 程式人生 > 其它 >python os.isfile 判斷已有檔案不存在怎麼解決

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']