我有以下代码,预计将执行以下操作,
- 提供目录名称 (dirName) 和前缀作为函数的输入。
- 列出从提供的输入目录 (dirName) 向下一级的所有内容,并开始使用 os.walk 函数在子目录中填充文件详细信息。
- 找到文件后,将根据特定前缀检查它们并进一步处理。
动机是一旦识别出文件(满足前缀),我想要该文件的绝对真实路径。我尝试使用 Path(libfile).resolve() 选项,但它只给出运行脚本的当前工作目录,而不是该文件的实际路径。你能解释一下我哪里出错了吗?
import os from pathlib import Path def directory(dirName, prefix): process_dir = [name for name in os.listdir(dirName) if os.path.isdir(os.path.join(dirName, name))] for entry in process_dir: for dirname, directory, files in os.walk(os.path.join(dirName, entry)): for libfile in files: if libfile.startswith((prefix)): return(Path(libfile).resolve())
Python 版本 3.6.2。