我正在写一个程序,在这个程序中,我想在外部文件中读写具有不同数据类型的特定变量。

在尝试了几个不同的模块后,我得到的最接近的方法是使用pickle。

Pickle似乎很好,因为它能理解不同的数据类型,但它的不足之处在于它从顶部一行一行地读取数据,而不是像从外部.py文件那样按名称调用特定的变量。在

如果您编写新变量或更改现有变量,此模块和其他模块似乎也会覆盖整个文件,因此如果您实际上只想更改其中一个变量,则必须重写所有数据。在

请参见下面的代码示例。对不起,代码太长了,我只是想解释得更透彻。在

在这个特定的程序中,文件是否可读并不重要。

有人能给我指出一个可以处理这个问题的模块的方向吗,或者告诉我我可能做错了什么?在import pickle

variable1 = "variable1"

variable2 = "variable2"

pickle_out = open("db.pkl","wb")

pickle.dump(variable1, pickle_out)

pickle.dump(variable2, pickle_out)

pickle_out.close()

#So I'll load the variables in again

pickle_in = open("db.pkl", "rb")

variable1 = pickle.load(pickle_in)

variable2 = pickle.load(pickle_in)

print(variable2)

variable2

#Everything good so far.

#But let's say I only want to load variable2 because I can't remember which

#line it was written on.

pickle_in = open("db.pkl", "rb")

variable2 = pickle.load(pickle_in)

print(variable2)

variable1

#Also, if I'd like to update the value of variable1, but leave the other

#variables untouched, it wouldn't work as it would just overwrite the whole

#file.

#Let's say I've loaded in the variables like at the line 17 print statement.

variable1 = "variable1_new"

pickle_out = open("db.pkl","wb")

pickle.dump(variable1, pickle_out)

pickle_out.close()

pickle_in = open("db.pkl", "rb")

variable1 = pickle.load(pickle_in)

variable2 = pickle.load(pickle_in)

Traceback (most recent call last):

File "", line 1, in

EOFError: Ran out of input

print (variable1)

variable1_new

#So the value of variable1 is correct, but variable2 is no longer in the

#pickle-file as the whole file was overwritten.

python代码读取外部变量_在Python中从外部文件中写入和读取特定的变量相关推荐

  1. python代码续航的方法_编写python高质量python代码的59个有效方法

    第1条:确认自己的python版本 第2条:遵循PEP8的风格 1.空格 对于 占据多行的长表达式来说, 除了首行之外的其余各行都应该在通常的缩进级别上再加4个空格. 每行字符数不应该超过79. 2. ...

  2. python代码怎么变成软件_从Python代码到APP,你只需要一个小工具:GitHub已超6000星

    点击上方Python知识圈,选择设为星标 回复1024获取Python资料 选自TowardsDataScience作者:Adrien Treuille机器之心编译参与:魔王.一鸣 阅读文本大概需要 ...

  3. 为什么python代码运行不了_为什么Python代码能运行但是PyCharm给我画红线?

    PyCharm在遇到模块找不到时,会使用红色波浪线提醒开发者.这本来是一个非常好的功能,但却由于另外一个问题,会给一些Python初学者造成困扰. 这一篇文章,我们讲讲工作区导致的这个问题. 首先我们 ...

  4. 一行python代码值多少钱_一行python代码

    Life is short, just use Python. 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl 和Shell编程,因为python 的优雅么? 不全是 ...

  5. python代码库能干什么_一行Python代码能做什么?

    很典型的文章,基本可以展示Python代码到底有多黑魔法.虽然文中有些案例连我都觉得走火入魔,但真的很值得一看... 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl ...

  6. python代码电影人物关系_自动更新高清电影文件中文名python代码

    1.[代码][Python]代码 #coding:utf-8 import urllib, urllib2, cookielib import os, time import re def login ...

  7. 写python代码的心得体会_写python代码的一点感想

    记得之前写过一篇文章,html2javaben,并发布了一个相关的组件,大概的功能就是把抓取的html页面后抽取其中的结构化数据进行二次加工.最近在用python也在写一个好玩的抓取网页的东西,也想封 ...

  8. 手机python代码查询四六级准考证_【python】【转载】四六级准考证号找回

    今天是四六级查成绩的时间,班里一位同学忘了准考证号,问有没有方法找回.于是我先在咱们吾爱找找有没有方法,但是只找到一个,可是失效了.于是就开始csdn,百度进行搜索,但最终那些方法还是无果. 最后通过 ...

  9. python代码画小猪佩奇_用 Python 画一个小猪佩奇和哆啦 A 梦

    0 前言 最近发现了很有意思的东西,有人用 turtle 这个库画了一个小猪佩奇,跑去 GitHub 看了一下代码,发现写这个的人真的很有耐心,居然能写下来. 再找了找,发现有人还画了哆啦 A 梦, ...

  10. python代码变成运行程序_用Python脚本转换成windows的可执行程序

    下载并运行与你所安装的Python对应的py2exe版本的 installer,这将安装py2exe和相应的例子:这些例子被安装在lib\site-packages\py2exe\samples目录下 ...

最新文章

  1. Variable和Tensor合并后,PyTorch的代码要怎么改?
  2. Windows Server 2012 r2 显示计算机图标
  3. [翻译]Chameleon介绍(3) : 列表控件
  4. 龙芯linux内核移植开发板,基于国产龙芯GS32I的开发板的设计与嵌入式Linux的移植...
  5. Altiris 7.1 远程
  6. WebLogic重启
  7. python分片的步长_Python的分片操作
  8. ascll编码表图片_ASCII码一览表,ASCII码对照表
  9. 只包含因子2 3 5的数 (思维和二分)
  10. CCF推荐的A类、B类、C类中文科技期刊2022
  11. 【毕业设计】基于stm32的示波器设计与实现 - 单片机 物联网
  12. rsync用法详细解释
  13. Artificial Intelligence-人工神经网络
  14. peopleSoft常见错误诊断
  15. Bert:Pre-training of Deep Bidirectional Transformers forLanguage Understanding
  16. [Excel知识技能] 将数值格式数字转换为文本格式
  17. hdu1814 Peaceful Commission,2-sat
  18. 大数据与Java的关系
  19. mysql语句优化总结(一)
  20. Android studio app启动时默认启动页面为自定义界面

热门文章

  1. 【转】MySQL索引和查询优化
  2. cocos2d-x帧动画实现(续)
  3. 编译安装PHP出现Cannot load /usr/local/apache/modules/libphp5.so
  4. CS106A编程方法学二
  5. web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装
  6. android定义 task,Android Gradle 自定义Task 详解
  7. 对长度为200的有序表进行二分查找_程序员常用的查找算法(顺序、二分、插值、分块、斐波那契)...
  8. 自动化测试——unittest生成HTML测试报告
  9. 自学软件测试!自学到什么程度可以出去找工作...拿到阿里offer才知道这就够用了...
  10. 收藏~10年软件测试人员的工作方法进阶汇总