下面的代码只能看到扩展名为jpg的照片。如何更改语法以包含png,jpg,jpeg格式的照片
image_df_train_f = pd.DataFrame({'path': list(Path(input_path).glob('**/*.jp*g'))})
要列出具有不同扩展名的文件,您可以使用glob:
EXTENSIONS = (".png", ".jpg", ".jpeg")
path = [p.resolve()
for p in Path(input_path).glob("**/*")
if p.suffix in EXTENSIONS]
image_df_train_f = pd.DataFrame({'path': path})
注意您在注释中提供的解决方案虽然简洁,但可能会列出不必要的文件,因此您不应该使用它。
image_df_train_f = pd.DataFrame({'path': list(Path(input_path).glob("*.[jp][pn]g"))})
虽然它列出了.jpg
和.png
(顺便说一下,没有.jpeg
)扩展名的文件,但它还包括它位于目录中的.jng
和.ppg
文件。
您可以简单地添加更多的添加到DF
image_df_train_f = pd.DataFrame({'path': list(Path(input_path).glob('**/*.jpg'))+list(Path(input_path).glob('**/*.png'))+list(Path(input_path).glob('**/*.jpeg'))})
这将解决你的问题
或 ====================
shpfiles = []
for dirpath, subdirs, files in os.walk(path):
for x in files:
if x.split('.')[-1] in ["shp","pdf","txt"]:
shpfiles.append(os.path.join(dirpath, x))