问题: 在python中需要经常有需要提前生成复杂的计算结果变量的需求减少程序计算运行时间的需求,因此这里把变量存在txt文本文件中。

解决方法:

使用两个函数解决问题,一个函数把变量保存到文本文件中,另一个变量把文本文件从文本文件中读出生成变量。

以列表变量为例:

1.保存入txt文件 输入:content(列表变量),filename(文件名,如'1.txt'),mode(读写方式,默认mode = 'a'). 输出:在当前目录下创建一个名为filename文件,并且将列表的每个元素逐一写入文件(加入换行符).

def text_save(content,filename,mode='a'):
# Try to save a list variable in txt file.
file = open(filename,mode)
for i in range(len(content)):
file.write(str(content[i])+'\n')
file.close()

2.读取出txt文件 输入:filename(文件名,如'1.txt'). 输出:函数返回一个列表,里面包含每行的内容,并且自动屏蔽换行符(如果没有找到该文件名,返回空列表).

def text_read(filename):
# Try to read a txt file and return a list.Return [] if there was a mistake.
try:
file = open(filename,'r')
except IOError:
error = []
return error
content = file.readlines() for i in range(len(content)):
content[i] = content[i][:len(content[i])-1] file.close()
return content

实际使用:

运行

test_text = ['just','for','test']
text_save(test_text,'1.txt')

可以得到一个名为1.txt的文本文档,里面内容为

just
for
test

现在我们尝试读取该文件

test_content = text_read('1.txt')
print test_content

得到结果为

['just', 'for', 'test']

原文地址:https://my.oschina.net/clgo/blog/829114

转:python中使用txt文本保存和读取变量的更多相关文章

  1. Python中关于txt的简单读写模式与操作

    Python中关于txt的简单读写操作 常用的集中读写模式: 1.r 打开只读文件,该文件必须存在. 2.r+ 打开可读写的文件,该文件必须存在. 3.w 打开只写文件,若文件存在则文件长度清为0,即 ...

  2. 1. Python中的基本数据类型、运算、变量

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的基本数据类型.运算.变量 1. 基本数据类型 1.1 整数 py可以处理任意大小的整数,例如123,1234567891324 ...

  3. python中如何调用函数交换两个变量的值

    python中如何调用函数交换两个变量的值 所有代码来在python3.7.1版本实现 以下实例通过用户输入两个变量,并相互交换:  方法一: def swap(a,b): # 创建临时变量,并交换 ...

  4. python中写入txt文件需要换行,以及\r 和\n

    在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行 如果直接用 f.write(’\n’)只会在后面打印一个字符串’\n’,而不是换行’需要用 f.write(’\r ...

  5. Python爬虫连载7-cookie的保存与读取、SSL讲解

    一.cookie的保存与读取 1.cookie的保存-FileCookie.Jar from urllib import request,parse from http import cookieja ...

  6. Python中yaml和json文件的读取和应用

    Python对yaml和json文件的读取: yaml文件读取: 首先创建一个yaml文件test.yaml import yaml   #引入包 f=open(path)  #建立Python的文件 ...

  7. ORACLE 中写入txt文本与从Txt文件中读入数据 修改表结构

    --创建一个表 DROP TABLE TEST CASCADE CONSTRAINTS ; CREATE TABLE TEST(A VARCHAR(30),B VARCHAR(30)); --查看具体 ...

  8. mysql数据库中导入txt文本数据的方法

     安装好MySQL和Navicat 8 for MySQL 通过Navicat 8 for MySQL创建数据库test. 2 在数据库test上创建测试数据表student(主键ID,姓名,年龄,学 ...

  9. python 中的富文本编译器

    第一种方式: 1,pip install django-tinymce 2,在INSTALL_APPS里面添加tinymce        在站点中使用: 配置setting.py TINYMCE_D ...

随机推荐

  1. oracle链接不上的问题

    使用plSql连接数据库看看,登录提示如下:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务. 查了许久的baidu也没有解决问题的方法.想起来看看oracle的服务是否开启,O ...

  2. Ubuntu 16.04中XMind 8导致Java内存溢出的问题解决(硬盘卡死,桌面卡死)

    XMind使用的是Java进行开发,如果出现内存溢出的问题,那么一定是桌面快捷方式的问题,解决方法是直接修改快捷方式里面的内容,修改如下: [Desktop Entry] Encoding=UTF-8 ...

  3. 条款五:对应的new和delete要采用相同的形式

    string *stringarray = new string[100]; ... delete stringarray; 上述程序的运行情况将是不可预测的.至少,stringarray指向的100 ...

  4. [Algorithms] Insertion sort algorithm using TypeScript

    Insertion sort is a very intuitive algorithm as humans use this pattern naturally when sorting cards ...

  5. swift学习笔记(四)关于类的继承

    在swift中,继承是区分类与其它对象的基本特征 继承后的子类能够重写父类的方法,包含类方法和实例方法,属性和附属脚本(subscript) 在继承过程中,构造器方法init()是不被继承的,须要显示 ...

  6. 使用 FFmpeg 处理高质量 GIF 图片

    使用 FFmpeg 处理高质量 GIF 图片 - 为程序员服务  http://ju.outofmemory.cn/entry/169845

  7. js生成页面水印

    路: 获取想要插入水印的文档节点的顶点坐标值x,y. 获取文档节点的高度heigt和宽度width. 用div包裹文字来生成水印. 定义好div的长宽高间距等各种属性. 定义虚拟节点createDoc ...

  8. 第二步:将LAD结果的属性值二(多)值化,投入计算模型

    一文详解LDA主题模型 - 达观数据 - SegmentFault 思否 https://segmentfault.com/a/1190000012215533 SELECT COUNT(1) FRO ...

  9. mysql default null empty string concat varchar text

    text不可设置默认值 null  empty string   前者update 初始值时 我响应,但不报错

  10. CANopen——笔记

    1. c语言的typedef高级用法 typedef void (*post_sync_t)(CO_Data*); http://zhidao.baidu.com/link?url=_lDBGq_uk ...