下面的代码只看到扩展名为jpg的照片.我应该如何改变语法,以包括png,jpg,jpeg格式的照片



下面的代码只能看到扩展名为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))

最新更新