因此,我有很多数据文件,它们的名称类似于这样:
lvh_GTV_TwoField-3-401-86.txt
从一个文件到另一个文件的变化是数字86和GTV。
我试图使用这段代码来区分文件:
f.split('-')[3]这一点,如果我没有弄错的话,应该在-上拆分文件,然后再分割第三个文件,也就是86。在我的例子中,我真的很想使用int(f.split('-')[3]),因为我需要将它引用到另一个数字,然而,当在第3位分裂时,输出实际上是86.txt左右,因此不能将它作为一个整数。
因此,我的问题是:如何分割文件,使之只包含值86,而不是.txt扩展名?
提前谢谢。
发布于 2016-12-06 00:43:11
考虑到这是非常受控制的,您可以对产生的字符串进行splice,如下所示:
f.split('-')[3][:-4] # '86', take all chars except the last 4 (.txt)发布于 2016-12-06 00:46:40
您还可以使用os.path.splitext函数删除扩展:
import os
os.path.splitext(f)[0].split('-')[3]或者,更详细地说,
base, ext = os.path.splitext(f)
base.split('-')[3]发布于 2016-12-06 00:49:01
使用parse
from parse import parse
parse("lvh_{}_TwoField-3-401-{:d}.txt", "lvh_GTV_TwoField-3-401-86.txt")[1]
# => 86 (as an int)https://stackoverflow.com/questions/40985904
复制相似问题