python - 用 Python 抓取文件名的一部分

标签 python filenames

这里是新手。

我刚刚使用 Python/编码工作了几天,但我想创建一个脚本来抓取与特定模式对应的部分文件名,并将其输出到文本文件。

所以就我而言,假设我有四个这样的 .pdf:

aaa_ID_8423.pdf
bbbb_ID_8852.pdf
ccccc_ID_7413.pdf
dddddd_ID_4421.pdf

(Note that they are of variable length.)

我希望脚本遍历这些文件名,获取“ID_”之后和文件扩展名之前的字符串。

您能指出哪些 Python 模块和可能的指南可以帮助我吗?

最佳答案

这是一个使用 re 模块的简单解决方案,如其他答案中所述。

# Libraries
import re

# Example filenames. Use glob as described below to grab your pdf filenames
file_list = ['name_ID_123.pdf','name2_ID_456.pdf'] # glob.glob("*.pdf") 

for fname in file_list:
    res = re.findall("ID_(\d+).pdf", fname)
    if not res: continue
    print res[0] # You can append the result to a list

下面应该是您的输出。您应该能够使它适应其他模式。

# Output
123
456

祝你好运!

关于python - 用 Python 抓取文件名的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30333186/

相关文章:

python - 相机拍摄+步进马达

python - 如何按值对字典进行排序?

python - 循环遍历一组 Python 数字或一组字母是否更快?

node.js - 使用 Electron Dialog 模块和 .showSaveDialog 时在另存为窗口中填充文件名

android - 从Android中的目录获取文件名

python - conda 是否从使用 pip install 安装的 pypi 更新包?

php - 在 PHP 中按文件名对文件进行排序 - 2011 年 3 月、2011 年 4 月、2011 年 5 月等

path - 路径组件的命名标准是什么?

class - 如何在 Scala 中获取当前脚本或类名?

python - 即使文件只有一维,如何使 np.loadtxt 返回多维数组?