Python 如何从变量中删除字符串的一部分?
我有以下变量:Python 如何从变量中删除字符串的一部分?,python,python-3.x,Python,Python 3.x,我有以下变量: input\u file='gs://tinydancer/test\u files/GoogleSheetsandPython\u 1min.flac' 我想使用input_file变量的GoogleSheetsandPython_1min部分来命名.txt文件。 这将在稍后的脚本中创建 我还想在文件名的末尾附加.txt 以下是我目前如何做到这一点的: text\u file=open(“GoogleSheetsandPython\u 1min.txt”,“a”) 通过简单的硬
input\u file='gs://tinydancer/test\u files/GoogleSheetsandPython\u 1min.flac'
我想使用input_file变量的GoogleSheetsandPython_1min
部分来命名.txt文件。
这将在稍后的脚本中创建
我还想在文件名的末尾附加.txt
以下是我目前如何做到这一点的:
text\u file=open(“GoogleSheetsandPython\u 1min.txt”,“a”)
通过简单的硬编码,我想让它自动化。因此,一旦设置了输入文件,您就可以使用它相应地更改output.txt文件名。我对此做了一些研究,但到目前为止还没有找到好的方法 您可以沿着
/
分割字符串,获取最后一项,然后像下面这样附加“.txt”:
>>> input_file.split('/')[-1] + '.txt'
'GoogleSheetsandPython_1min.flac.txt'
如果我误解了,您想用.txt
替换.flac
,您只需在
上进行另一次拆分,然后附加.txt
>>> input_file.split('/')[-1].split('.')[0] + '.txt'
'GoogleSheetsandPython_1min.txt'
正则表达式解决方案:
import re
>>> re.search('[^/][\\\.A-z0-9]*$', input_file).group()
'GoogleSheetsandPython_1min.flac'
然后,您可以在
上拆分以删除文件扩展名 使用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'
您可以使用
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")
您可以使用
.rsplit(“/”,1)[1]
来代替它-效率更高一些。是的,这就是我在文本文件
变量中寻找的,关于如何删除该输入文件
前面的建议?这:gs://tinydancer/test\u files/
我在想一些类似于“input\u file.remove[?]的东西,但我不确定使用什么索引,因为“技术上”它是一个单词。还是真的?我想我不明白。这不是我刚才给你看的吗?或者你可以使用正则表达式来获取文件名re.search('[^/][\.A-z0-9]*$',input\u file).group()
输出:'GoogleSheetsandPython\u 1min.flac'
@EliC字符串是不可变的试试这个