我很抱歉上次我使用这个网站是我的第一次,我没有缩进我的代码和所有。但这次我试图这样做。我希望代码是可以理解的。我正在研究由https://p2tk.svn.sourceforge.net/svnrooot/p2tk/python/syllabify/syllabifier.py提供的Joshua Tauberer撰写的python程序syllabifier.py。这个程序是免费使用的,我也参考了我的项目中的源代码。我正在使用此程序将我所拥有的音素列表作为输入进行音节化。该程序接收一个输入文件,其内容如下:
pau s aa m ih k l eh k t aa n ph a pau a e p l a p k a a p p a a p p a p p p
这些是从语音文件生成的音素。 pau代表短暂的停顿。然后,该程序将此输入音节化以产生如下输出:
s aa'm ih'k e a i i i i i i i i i i <<<<<<<<<<<
此输出是音节化版本。但是当我从输入文件中手动删除pau时,程序生成了此输出。因为该程序只识别音素而pau不是一个。所以我需要在程序中进行更改,从列表中删除所有现有的pau。我在这里复制了程序的主要部分。我添加了这些线条 text.remove(“pau”)并且还尝试添加另一个是phoneme.remove(“pau”)。但是在这两种情况下我都会收到一条错误:str对象没有删除属性。我不明白我哪里错了。请帮忙。非常感谢你。
def syllabify(language, text) :
text.remove("pau")
if type(text) == str :
text = text.split()
syllables = [] # This is the returned data structure.
internuclei = [] # This maintains a list of phonemes between nuclei.
for phoneme in text :
#phoneme.remove("pau")
phoneme = phoneme.strip()
if phoneme == "" :
continue
stress = None
答案 0 :(得分:4)
phoneme = phoneme.replace("pau", "")
答案 1 :(得分:1)
def syllabify(language, text) :
#These lines will take any list of phonemes or string of phonemes
#and strip all of the whitespace and 'pau's
#and won't return any empty phonemes
if type(text) is not str:
text = ' '.join(text)
text.replace("pau", "")
text = text.split()
syllables = [] # This is the returned data structure.
internuclei = [] # This maintains a list of phonemes between nuclei.
for phoneme in text:
# so you don't have to check for empty phonemes,
# delete 'pau's, or strip whitespace here
stress = None
# whatever else you do