Python 是否可以保存一个整数以供再次使用?
我刚刚开始学习Python,遇到了一个问题,我想保存一个整数,以便在程序关闭时再次使用。我一直在四处寻找,但什么也找不到。到目前为止,我编写的代码是:Python 是否可以保存一个整数以供再次使用?,python,persistence,Python,Persistence,我刚刚开始学习Python,遇到了一个问题,我想保存一个整数,以便在程序关闭时再次使用。我一直在四处寻找,但什么也找不到。到目前为止,我编写的代码是: from __future__ import print_function collatz = open("collatz.txt", "w+") Num = 5 calcNum = Num while Num>0: if calcNum % 2 == 0: calcNum /= 2 print(calc
from __future__ import print_function
collatz = open("collatz.txt", "w+")
Num = 5
calcNum = Num
while Num>0:
if calcNum % 2 == 0:
calcNum /= 2
print(calcNum, file = collatz)
else:
calcNum = (calcNum*3)+1
print(calcNum, file = collatz)
if calcNum == 4:
print("The infinite loop has been reached, moving on to the next number.", file = collatz)
Num += 1
print(Num, file = collatz)
calcNum = Num
我试图将Num
保存到另一个文件中,然后使用该文件保存它。但是,它保存为字符串而不是int
,因此我尝试使用int()
,但仍然没有帮助
提前感谢您的帮助。使用pickle库
import pickle
num = 4
pickle.dump(num, "num_file.txt")
loaded_num = pickle.load("num_file.txt")
使用pickle库
import pickle
num = 4
pickle.dump(num, "num_file.txt")
loaded_num = pickle.load("num_file.txt")
您可以使用JSON,然后不管是Python还是其他语言读入并运行您的部分结果(不限于int)。下面是一个程序的示例,该程序(效率低下)计算几个素数,并在每次运行时选择其停止的位置:
import json
from math import factorial
from os.path import isfile
FILE_NAME = "number.json"
def is_prime(x): # not efficient, but short (by @aikramer2)
return factorial(x - 1) % x == x - 1
if isfile(FILE_NAME):
with open(FILE_NAME) as handle:
number = json.load(handle)
else:
number = 2 # no seed, begin anew
print(number)
for number in range(number + 1, number + 10):
if is_prime(number):
print(number)
with open(FILE_NAME, "w") as handle:
json.dump(number, handle)
您可以使用JSON,然后不管是Python还是其他语言读入并运行您的部分结果(不限于int)。下面是一个程序的示例,该程序(效率低下)计算几个素数,并在每次运行时选择其停止的位置:
import json
from math import factorial
from os.path import isfile
FILE_NAME = "number.json"
def is_prime(x): # not efficient, but short (by @aikramer2)
return factorial(x - 1) % x == x - 1
if isfile(FILE_NAME):
with open(FILE_NAME) as handle:
number = json.load(handle)
else:
number = 2 # no seed, begin anew
print(number)
for number in range(number + 1, number + 10):
if is_prime(number):
print(number)
with open(FILE_NAME, "w") as handle:
json.dump(number, handle)
文件扩展名不必是
.txt
我一直以为约定是.pkl!我想是这样的:)有时候我在windows上使用txt来查看内部内容……文件扩展名不必是.txt
,我一直认为约定是.pkl!我想是这样的:)我有时在windows上使用txt来查看内部内容…\u所以我尝试使用int()但仍然没有帮助-出了什么问题?如果我open('save.txt','w').write(str(some_int))
,那么int(open('save.txt').read())
应该可以工作。所以我尝试使用int(),但仍然没有帮助-出了什么问题?如果我open('save.txt','w').write(str(some_int))
,那么int(open('save.txt').read())
应该可以工作。