【发布时间】:2021-12-31 09:19:08
【问题描述】:
我在使用 glob (python 3.10.0/Linux) 时遇到了奇怪的问题: 如果我使用 glob 使用以下构造来定位所需文件:
def get_last_file(folder, date=datetime.today().date()):
os.chdir(folder)
_files = glob.glob("*.csv")
_files.sort(key=os.path.getctime)
os.chdir(os.path.join("..", ".."))
for _filename in _files[::-1]:
string = str(date).split("-")
if "".join(string) in _filename:
return _filename
# if cannot find the specific date, return newest file
return _files[-1]
但是当我尝试时
os.path.join(fileDir, file)
使用生成的文件,我得到了导致的相对路径: FileNotFoundError:[Errno 2] 没有这样的文件或目录:'data/1109.csv'。 文件肯定存在,当我尝试 os.path.join(fileDir, '1109.csv') 时,找到了文件。 最奇怪的事情 - 如果我这样做:
filez = get_last_file(fileDir, datetime.today().date())
file = '1109.csv''
在 os.path.join(fileDir, file) 之后,我仍然找不到 file 的文件。
我应该完全避免使用 glob 吗?
【问题讨论】:
标签: python-3.x glob