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

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

使用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())
应该可以工作。