3

数が素数であるかどうかをチェックするモジュールを作成し、その前にすべての素数をリストしたいと思います。

モジュールの関数は、作成されるたびに素数のリストを生成する必要がある場合、少し時間がかかります。

プログラムと同じフォルダにある.txtファイルを開いて、そこからデータにアクセスし、それに基づいてリストを作成するにはどうすればよいですか?その後、関数が完了すると、.txtファイルにリストが保存されます。また、特定の場所にファイルを実際に保存する方法についても少しガイダンスが必要です。

どんな提案やヒントも素晴らしいでしょう。ありがとう!

4

4 に答える 4

4

私は物を漬けsetます、あなたはこれをすることができます:

import cPickle as pickle

primes_set = set([2,3,5])

pickle.dump(primes_set, open('primes_set.pkl', 'wb')) 

my_primes = pickle.load(open('primes_set.pkl', 'rb')) # to load the object

ピクルスファイルを作成したら、次のように使用できます。

def get_primes(my_nums):
    '''
    Return only prime numbers from inputted list.
    '''
    my_primes = pickle.load(open('primes_set.pkl', 'rb'))
    return [num for num in my_nums if num in my_primes]
于 2012-11-17T01:37:11.170 に答える
3

Pythonのioを見てください http://docs.python.org/2/tutorial/inputoutput.html

あなたが数の計算をしているように見えるので、私はpytables(hdf5バイナリファイル)を使用して負荷を節約し、配列を更新します

http://www.pytables.org/moin

于 2012-11-17T01:29:11.077 に答える
1

いくつかのオプションがあります。リストをリストとして保存したい場合は、ピクルスがおそらく最良の方法です。

txtファイルを処理してもかまわない場合は、それをcsvとして保存するだけで、Pythonはすぐにリストに戻ります。

于 2012-11-17T01:28:57.747 に答える
1

ファイルを開くには、

filereader = open("example.txt")

次に、変数filereaderにファイルのデータが含まれます。

allprimes = []
for line in filereader:
    allprimes.append(int(line)) #assuming one number is stored per line

allprimesには、ファイルに保存されているすべての番号が含まれるようになります。

于 2012-11-17T01:31:35.920 に答える