拆分.txt文件包括.txt扩展名



所以我有很多数据文件,它们的名字类似于这样:

lvh_GTV_TwoField-3-401-86.txt

从一个文件到另一个文件的东西是数字86GTV.

我正在尝试使用此代码来区分文件:

f.split('-')[3]

如果我没记错的话,这应该在-处拆分文件,然后是第三个,即 86。就我而言,我真的很想使用int(f.split('-')[3]),因为我需要根据另一个数字引用它,但是,当在第 3 个数字拆分时,输出实际上是86.txt左右,因此我不能将其作为整数。

所以我的问题是:如何拆分文件,所以我只使用值 86,而不是.txt扩展名?

提前谢谢。

您也可以使用os.path.splitext函数删除扩展:

import os
os.path.splitext(f)[0].split('-')[3]

或者,更详细地说,

base, ext = os.path.splitext(f)
base.split('-')[3]

鉴于这是非常可控的,你可以splice字符串的结果,所以像这样:

f.split('-')[3][:-4]    # '86', take all chars except the last 4 (.txt)

使用 PyPI 包parse

from parse import parse
parse("lvh_{}_TwoField-3-401-{:d}.txt", "lvh_GTV_TwoField-3-401-86.txt")[1]
# => 86 (as an int)

使用 Python 的内置 RegExp 库:

import re
m = re.match(
"lvh_.+_TwoField-3-401-(?P<the_number>d+).txt",
"lvh_GTV_TwoField-3-401-86.txt"
)
the_number = int(m.group('the_number'))

最新更新