У моего кода есть файл "filefile.txt", в котором есть сжатое предложение. Файл выложен как:Как распаковать файл
1
2
3
4
5
1
2
6
9
10
11
2
12
12
9
This
is
a
sentence
.
too
!
Yo
yo
bling
Оригинальный текст, который я хочу разложить, говорит: «!»
Мой код говорит:
fo = open("filefile.txt","r")
script = fo.readline()
script2 = fo.readline()
fo.close()
script2 = script2.split()
script = [s.strip("\n") for s in script]
sentencewords = []
while len(script) > 0:
for p in script:
sentencewords.append(enumerate(script2.index(p)))
script.remove(0)
print(sentencewords)
Это ошибка:
Traceback (most recent call last):
File "F:\Computing code attempts\AT13.py", line 46, in <module>
sentencewords.append(enumerate(script2.index(p)))
ValueError: '1' is not in list
мне нужно sentencewords
содержать "Это предложение Это слишком Yo Yo побрякушки побрякушки!"
Я изменил его сейчас, но он все еще не работает. sentencewords.append (перечислить (script2.enumerate (р)))
'Traceback (most recent call last):
файла "F: \ Вычислительный код пытается \ AT13.py", строка 46, в sentencewords.append (пронумеровать (script2.enumerate (p))) AttributeError: объект 'list' не имеет атрибута 'enumerate' '
Кто-нибудь знает, есть ли другой способ обойти эту проблему или как исправить мой текущий код?
fo = open("filefile.txt","r")
script = fo.readline()
script2 = fo.readline()
fo.close()
script2 = script2.split()
script = [s.strip("\n") for s in script]
sentencewords = []
indexes = []
for line in fo:
if line.strip().isdigit():
indexes.append(line)
else:
break
words = [line.strip() for line in fo if line.strip()]
while len(script) > 0:
for p in script:
sentencewords.append(words[index-1])
print(sentencewords)
Обновленный код, но я не знаю, что означает объект ввода-вывода в последнем выпуске python.
Traceback (most recent call last):
File "F:/Computing code attempts/attempt14.py", line 45, in <module>
for line in fo:
ValueError: I/O operation on closed file.
Любые предложения о том, как исправить мой код, я был бы благодарен за
Какие ошибки вы получаете? – vaultah
Пожалуйста, укажите свой вопрос, который указывает содержание вопроса. – khelwood
http://meta.stackexchange.com/a/10812/312450 – Paul