我想创建一个模块来检查一个数字是否是素数,并列出它之前的所有素数。
如果每次创建时都必须生成素数列表,则模块中的函数将花费一些时间。
如何打开与程序所在文件夹位于同一文件夹中的 .txt 文件,然后让它访问其中的数据并基于该文件创建列表?功能完成后,.txt 文件将保存为列表。我还需要一些关于如何将文件实际保存在给定位置的指导。
任何建议或提示都会很棒。谢谢!
我会腌制一个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]
看看python中的io http://docs.python.org/2/tutorial/inputoutput.html
当你似乎在做数字运算时,我会使用 pytables(hdf5 二进制文件)来保存加载和更新数组
为了打开一个文件,只需使用
filereader = open("example.txt")
那么变量 filereader 将包含文件的数据。
allprimes = []
for line in filereader:
allprimes.append(int(line)) #assuming one number is stored per line
allprimes 现在将包含存储在文件中的所有数字。