Форум сайта python.su
Привет, друзья=) У меня имеется текстовый файл. Мне нужно считать строку с определенным номером. Как это можно сделать?
Варианты типа
cnt = 4 # номер строки которую надо считать
count = 0
for i in file.readlines():
count = count + 1
if count == cnt:
break
print i
не предлагайте пожалуйста! Заранее всем спасибо=)
Офлайн
Думаете чем больше тредов вы создадите, тем больше ответов получите?
http://python.su/forum/viewtopic.php?id=6670
Офлайн
нет. это произошло случайно
Офлайн
:)
file.readlines()
Офлайн
Спасибо за ответ=) Не могли бы вы посмотреть исходник? Что-то не совсем так работает. Извиняюсь заранее за ламерство=)
def CountNumOfRows(file):
f = open(file)
count = 0
while f.readline():
count = count + 1
return count
def main():
InFile = open(“text.txt”, “r”)
OutFile = open(“text.xml”, “w”)
PrintStartedStrIntoXML(OutFile)
NumOfRows = CountNumOfRows(InFile.name)
for i in range(NumOfRows):
line = InFile.readlines()
print line
pass
if __name__ == “__main__”:
main()
В файле text.txt 3 строки. Выводит только первую и потом 2 traceback-а:
Traceback (most recent call last):
File “C:\Documents and Settings\msi\╠юш фюъєьхэЄ√\Tester\translator.py”, line
27, in <module>
main()
File “C:\Documents and Settings\msi\╠юш фюъєьхэЄ√\Tester\translator.py”, line
21, in main
line = InFile.readlines()
IndexError: list index out of range
Офлайн
tony733в вашем файле строки чем разделяются? \n или \r\n?
IndexError: list index out of range
Офлайн
Есть у меня мнение, что
line = InFile.readlines()[i]
temp = In.File.readlines()
for i in range(NumOfRows):
line = temp[i]
print line
def main():
OutFile = open("text.xml", "w")
PrintStartedStrIntoXML(OutFile)
InFile = open('text.txt', 'r')
for i in InFile.readlines():
print i
InFile.close()
if __name__ == "__main__":
main()
Отредактировано (Март 10, 2010 22:04:02)
Офлайн
UsCrтак щяс модно по списку проходить?for i in range(NumOfRows):
line = temp[i]
Офлайн
bazookaЭто, грубая переделка исходного кода, для проверки догадки.Код:
for i in range(NumOfRows):
line = temp[i]
Офлайн
Спасибо всем за оч дельные советы=) Все получилось
Офлайн