首页 > 解决方案 > 如何从python中的特定路径调用文件的基本名称?

问题描述

我在特定路径中有很多文件,例如:/a/b/c/*.tif。我想把他们的基本名称作为一个列表。

import glob
import pandas as pd

pattern = '/a/b/c/*.tif'
filenames = [path.basename(x) for x in glob(pattern)]
pd.DatetimeIndex([pd.Timestamp(f[:9]) for f in filenames])

此代码有TypeError: 'module' object is not callable错误。

标签: pythonpathfilenamesglob

解决方案


您想调用函数glob.glob而不是在您的第一个列表理解中使用模块名称glob,这导致TypeError: 'module' object is not callable

你也应该导入 os 模块来做os.path.basename

import os
import glob
import pandas as pd

pattern = '/a/b/c/*.tif'
#Use glob.glob to call the function
filenames = [os.path.basename(x) for x in glob.glob(pattern)]
pd.DatetimeIndex([pd.Timestamp(f[:9]) for f in filenames])

推荐阅读