是否可以保存一个整数以供再次使用?

Is it possible to save an integer to use again?

我刚开始学习 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(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")

您可以使用 JSON 然后无论是 Python 还是读入的其他语言都没有关系 运行s 与您的部分结果(不限于 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)