我需要检查给定文件是否存在,区分大小写。
file = "C:\Temp\test.txt"
if os.path.isfile(file):
print "exist..."
else:
print "not found..."
TEST.TXT 文件位于 C:\Temp 文件夹下。但是显示文件 =“C:\Temp\test.txt”的“文件存在”输出的脚本,它应该显示“未找到”。
谢谢。
我需要检查给定文件是否存在,区分大小写。
file = "C:\Temp\test.txt"
if os.path.isfile(file):
print "exist..."
else:
print "not found..."
TEST.TXT 文件位于 C:\Temp 文件夹下。但是显示文件 =“C:\Temp\test.txt”的“文件存在”输出的脚本,它应该显示“未找到”。
谢谢。
而是列出目录中的所有名称,以便您可以进行区分大小写的匹配:
def isfile_casesensitive(path):
if not os.path.isfile(path): return False # exit early
directory, filename = os.path.split(path)
return filename in os.listdir(directory)
if isfile_casesensitive(file):
print "exist..."
else:
print "not found..."
演示:
>>> import os
>>> file = os.path.join(os.environ('TMP'), 'test.txt')
>>> open(file, 'w') # touch
<open file 'C:\\...\\test.txt', mode 'w' at 0x00000000021951E0>
>>> os.path.isfile(path)
True
>>> os.path.isfile(path.upper())
True
>>> def isfile_casesensitive(path):
... if not os.path.isfile(path): return False # exit early
... directory, filename = os.path.split(path)
... return any(f == filename for f in os.listdir(directory))
...
>>> isfile_casesensitive(path)
True
>>> isfile_casesensitive(path.upper())
False
os.path.isfile 在 python 2.7 for windows 中不区分大小写
>>> os.path.isfile('C:\Temp\test.txt')
True
>>> os.path.isfile('C:\Temp\Test.txt')
True
>>> os.path.isfile('C:\Temp\TEST.txt')
True