2013-11-16 1 views
1

Как сохранить текущую строку итерабельного файла? По-видимому, Python не поддерживает встроенное назначениеPython хранит текущую строку в итерируемом объекте файла

f = open('parseMe.txt', 'r') 

iroFile = iter(f) 

while("\\" in (curLine = next(iroFile))): 
    print curLine 

Я пробовал следующее даже: но я все еще получаю синтаксические ошибки.

while((curLine = next(iroFile)): 
    if ("\\" in curLine): 
     print curLine 

ответ

0

У вас нет привязки в

while((curLine = next(iroFile)): 

также самые дальние брекеты aren Обязательно.

Этот код должен делать то же

print "".join([x for x in open("x.txt") if '\\' in x]) 

или

import sys 
[sys.stdout.write(x) for x in open("x.txt") if '\\' in x] 

или

import sys 
if sys.version_info.major < 3: 
    from __future__ import print_function 
[print(x) for x in open("x.txt") if '\\' in x] 
0

Файла итерации, так что вы должны использовать for цикл:

f = open('parseMe.txt', 'r') 
for line in f: 
    if '\\' in line: 
     print line 
1

В Python, назначение этого утверждения, а не выражение, - но если вы привыкнете к идиомам Python, я сомневаюсь, что вы Пропустите это.

Вот что-то вдоль линии, что вы, кажется, ищет:

#!/usr/local/cpython-2.7/bin/python 

with open('parseMe.txt', 'r') as file_: 
    for curLine in file_: 
     if '\\' not in curLine: 
      break 
     print curLine.rstrip('\n') 
0

Python file объекты можно перемещаться по строчкам, так что это самый простой способ:

for curLine in open('parseMe.txt', 'r'): 
    if "\\" in curLine: 
     print curLine 

 Смежные вопросы

  • Нет связанных вопросов^_^