文件可以有多个扩展名,但文件名仍然相同。 我试过了
import os.path
os.path.isfile("Filename")
但是这段代码也在查看文件的扩展名。
答案 0 :(得分:7)
这将列出具有相同名称但扩展名不同的所有文件。
num[1] = 25;
您可以使用此检查。
boolean isDouble;
if(num[1].contains(".")){
isDouble = true;
}
else{
isDouble = false;
}
参考this帖子。
答案 1 :(得分:2)
试试这个。
import os
def check_file(dir, prefix):
for s in os.listdir(dir):
if os.path.splitext(s)[0] == prefix and os.path.isfile(os.path.join(dir, s)):
return True
return False
您可以调用此功能,例如check_file("/path/to/dir", "my_file")
来搜索/path/to/dir/my_file.*
形式的文件。
答案 2 :(得分:1)
您也可以使用fnmatch
,
import os
import fnmatch
print filter(lambda f: fnmatch.fnmatch(f, "Filename.*"), os.listdir(FilePath))
此处,无需格式化FilePath
。您可以简单地写出' C:\Python27\python.*
'
答案 3 :(得分:0)
这将获得所有具有所需基本名称的文件(在本例中为&#39; tmp&#39;),有或没有扩展名,并将排除以您的基本名称开头的内容 - 例如tmp_tmp.txt:< / p>
import re
import os
basename='tmp'
for filename in os.listdir('.'):
if re.match(basename+"(\..*)?$", filename):
print("this file: %s matches my basename"%filename)
当然,如果你更喜欢列表中的一个,那就更简洁了:
[fn for fn in os.listdir('.') if re.match(basename+"(\..*)?$",fn)]