如何从变量中删除部分字符串?

时间:2017-07-21 01:41:40

标签: python python-3.x

我有以下变量:

input_file = 'gs://tinydancer/test_files/GoogleSheetsandPython_1min.flac'

我想使用input_file变量的GoogleSheetsandPython_1min部分来命名.txt文件。 这将在稍后的脚本中创建。

我还想将.txt附加到文件名的末尾。

以下是我目前的实现方式:

text_file = open("GoogleSheetsandPython_1min.txt", "a")

通过简单地硬编码,我想让它自动化。因此,一旦设置了输入文件,您就可以使用它来相应地更改输出.txt文件名。我已经对此做了一些研究,但到目前为止还没有找到好的方法。

3 个答案:

答案 0 :(得分:0)

您可以沿/分割字符串并获取最后一项,然后追加" .txt"像这样:

>>> input_file.split('/')[-1] + '.txt'
'GoogleSheetsandPython_1min.flac.txt'

如果我误解了您想要将.flac替换为.txt,您可以在.上进行另一次拆分,然后附加.txt

>>> input_file.split('/')[-1].split('.')[0] + '.txt'
'GoogleSheetsandPython_1min.txt'

正则表达式解决方案:

import re

>>> re.search('[^/][\\\.A-z0-9]*$', input_file).group()
'GoogleSheetsandPython_1min.flac'

然后你可以拆分.来摆脱文件扩展名。

答案 1 :(得分:0)

使用os.path

import os

input_file = 'gs://tinydancer/test_files/GoogleSheetsandPython_1min.flac'
input_file = os.path.splitext(os.path.basename(input_file))[0] + '.txt'

答案 2 :(得分:0)

您可以使用os.path.basename

import os

input_file = 'gs://tinydancer/test_files/GoogleSheetsandPython_1min.flac'
new_file = os.path.basename(input_file).replace("flac", "txt")
text_file = open(new_file, "a")