假设我的文件夹结构为
+Data
-abc.jpg
-db.jpg
-ap.jpg
输入是'路径/到/数据'
预期输出为[' abc'' db',' ap']
我看到很多类似的问题,但没有得到我想要的东西。 我更喜欢在python中使用os模块。
答案 0 :(得分:4)
试试这个,
l=os.listdir('path')
li=[x.split('.')[0] for x in l]
.
分割文件,然后取第一个参数。答案 1 :(得分:3)
import os
files_no_ext = [".".join(f.split(".")[:-1]) for f in os.listdir() if os.path.isfile(f)]
print(files_no_ext)
答案 2 :(得分:1)
您可以使用以路径为参数的os.listdir并返回文件和目录列表。
>>> list_ = os.listdir("path/to/Data")
>>> list_
>>> ['abc.jpg', 'dn.jpg', 'ap.jpg']
使用该列表,您只需要做一个理解列表,将每个元素拆分为“。” (点),取除最后一个元素之外的所有元素与'。'连接。 (点)并使用os.path.file()检查元素是否为文件。
>>> list_ = ['.'.join(x.split('.')[:-1]) for x in os.listdir("path/to/Data") if os.path.isfile(os.path.join('path/to/Data', x))]
>>> list_
>>> ['abc', 'dn', 'ap']
答案 3 :(得分:0)
import os
from os import listdir
from os.path import isfile, join
def filesMinusExtension(path):
# os.path.splitext(f)[0] map with filename without extension with checking if file exists.
files = [os.path.splitext(f)[0] for f in listdir(path) if isfile(join(path, f))];
return files;
答案 4 :(得分:0)
import os
filenames=next(os.walk(os.getcwd()))[2]
efn=[f.split('.')[0] for f in filenames]
os.getcwd() #for get current directory path
答案 5 :(得分:0)
import glob
import Path
for f in glob.glob("*.*"):
print(Path(f).stem)