2017-02-19 1 views
0

私はテキストファイルをprimeで印刷するpythonスクリプトを持っています。 私のスクリプトは、中断した場所のリストをピックアップしたいので、基本的に最後の行の内容を変数として取ります。ここでpython3変数の入力として.txtファイル行の内容を使用します

は私の現在のスクリプトです:

def calc(): 
    while True: 
     x = 245747 
     y = (100**100)**100 
     for n in range (x,y): 
      if all(n%i!=0 for i in range (2,n)): 
       a=[] 
       a.append(n) 
       fo = open('primes.txt', 'a+') 
       print(n) 
       print ("", file = fo) 
       print ((a), file = fo) 
       fo.close 
     s = input('To do another calculation input yes, to quit input anything else...') 
     if s == 'yes': 
      continue 
     else: 
      break 
calc() 

場合、私は、「[245747]」その最後の行にあるはずの入力としてprimes.txt の最後の行を取得するための変数xを希望します最大素数は245747です。

どうすれば達成できますか?ありがとう!

答えて

0

あなたは使用readlinesを行うと、リストの最後の項目を取得することができます:

file = open("primes.txt", "r").readlines() 
x = file[len(file)-1] 

私は、これは動作するはずだと思います。 スプリットなどで2 "["と "]"を取り除くことができます。

+0

記号だけです: "["と "]"は数字の括弧で囲まれたテキストファイルです。リストの最後の項目はstrとみなされ、intではありません。 – BenjiMan

+0

'file [len(file)-1]'はもっと簡単に 'file [-1]'と書くことができます –

関連する問題