首页 > 解决方案 > 如何在 Python 2.7 中读取文件名的特定字符

问题描述

假设我有一堆文件夹/文件,其名称如下

    abc_06082018

其中数字是它的创建日期,但每个文件夹的数字不同,但是每个名称的 abc_ 保持相同。我如何只在 abc_ 之后阅读,直到 8 个数字?

顺便说一句:该文件夹是 python 2.7 程序的当前工作目录,所以我使用 os.getcwd() 并将其保存到最有可能作为字符串的变量中。这个想法是从 cwd 中获取日期,并以以下形式在 cwd 中创建一个文件

    newfile_06082018.txt

其中数字取自 cwd 的名称 谢谢!

标签: pythonstringfilenames

解决方案


文件夹的名称是一个字符串 - 只需使用正常的字符串操作!.partition()是你的朋友。

folder = os.getcwd()

absolute_folder = os.path.abspath(folder)
only_folder_name = os.path.basename(absolute_folder)

prefix, sep, date_suffix = only_folder_name.partition('_')
filename = 'newfile_{date}.txt'.format(date=date_suffix)

推荐阅读