python文件读取写入元组_python文件和元组
python文件操作
相较于java,Python里的文件操作简单了很多
python 获取当前文件所在的文件夹:
os.path.dirname(__file__)
写了一个工具类,用来在当前文件夹下生成文件,这样方便
classUtil():"""工具类"""@classmethoddefget_file_url(cls, file_name):"""获取当前文件夹的路径"""
return os.path.join(os.path.dirname(__file__), file_name)
向一个文件中写数据,w表示write,用于写入
myfile = open("a.txt", "w")
myfile.write("hello2 world \n")
myfile.write("good bye \n")
打开文件查看内容为
写完文件后如果不在操作文件,记得关闭文件,养成好习惯。
myfile.close()
一般文件的读取都是放在try-except块中的,其中文件的关闭放在finally 中,这样能保证文件始终是关闭的。
读取文件
myfile = open(Util.get_file_url("a.txt"),'r')print "第一行",myfile.readline() #读取第一行
print "第二行",myfile.readline() #读取第二行
print "所有行",myfile.read()
readline()方法一次读取文件中的一行,由于文件只有2行,所以执行2次readline()后没有再可以读的数据了,read()方法会将文件的所有内容读入一个字符串。如果要讲文件指针重置
到最开始的位置,可以使用如下方法
myfile.seek(0) # 将文件重置到最开始的地方
read() 方法可以指定读取的字节大小,如read(6)
myfile = open(Util.get_file_url("aaa.xxx"),'r')
new_str= myfile.read(6) # aaa.xxx的内容为"你好",读取6个字节则可以刚好将字符串读出来,一个中文3个字节
使用迭代器读取文件
iterator = open(Util.get_file_url("aaa.xxx"),'r')for line initerator:print line
读取文件到字符串列表
lines = myfile.readlines() # 将文件的每一行作为一个元素存入列表中
用pickle存储python的原声对象
classPerson(object):def __init__(self, name='', age=0):
self.age=age
self.name=namedef __str__(self):return self.name+"--"+str(self.age)
p= Person('zhangsan', 24)
p.sex= '男'p.salary= 12000
#将对象存入文件
to_file = open(Util.get_file_url("aaa.txt"),'wb')
pickle.dump(p, to_file)
to_file.close()printp.name#将存入文件中的对象load进来
from_file = open(Util.get_file_url("aaa.txt"),'rb') # rb 表示读取二进制文件
person=pickle.load(from_file)print person
元组操作(tuple)
元组的存在组要是为列表提供完整性,元组具有不可变性,可以确保在程序中不会被另一个引用修改。它类似于其他语言中的常数。
元组的在python中属于tuple 类型常见的操作:
#元组定义
tuple1 = () #空的元组
tuple2 = (1,) #包含1个元素的元组
int1 = (1) #包含一个元素的变量
tuple4 = (1, 2, 3, 4,2)#遍历元组
for tup intuple4:printtupprint '*' * 55
#获取指定下标的元素
print tuple4[2]#获取指定数的下标
print tuple4.index(4)#获取指定值出现的次数
print tuple4.count(2)print tuple4[1:3] #含左不含右
简介python 列表中的引用和拷贝
python中一切皆为对象,赋值只是拷贝了引用。举个例子:
>>> list1=[1,2,3,4]>>> printlist1
[1, 2, 3, 4]>>> x =list1>>> printx
[1, 2, 3, 4]>>> list1[1]='abc'
>>> printlist1
[1, 'abc', 3, 4]>>> printx
[1, 'abc', 3, 4]
如果有其他面向对象编程的经验就不难理解,那么如何将list1列表完全赋值给x呢,我们可以使用如下的方法
>>> x =list(list1) (也可以 x = list1[:])>>> printx
[1, 'abc', 3, 4]>>> list1[1]=2
>>> printlist1
[1, 2, 3, 4]>>> printx
[1, 'abc', 3, 4]
对于dict 类型,可以使用如下的方式,这样就实现了完整的拷贝
>>> dict1 = {"a":1,"b":2}>>> dict2 = dict1.copy()
注意:通过 copy 和 list() 或list1[:]的方式生成的只是顶层拷贝,并不能赋值嵌套的数据。举个例子:
>>> L = [1, 2, 3]>>> dict1 = {"list": L}>>> tuple5 =(dict1.copy(),)>>> printtuple5
({'list': [1, 2, 3]},)>>> L[0] = "a"
>>> printL
['a', 2, 3]>>> printtuple5
({'list': ['a', 2, 3]},)
如果想要一个深层次的拷贝结果,需要使用如下的方法
importcopy
res_copy= copy.deepcopy(tuple5) #此方法将会进行深层次拷贝
好了,先写到这吧,算是总结完了
python文件读取写入元组_python文件和元组相关推荐
- python文件读取写入实践_python文件写入实例分析
本文实例讲述了python文件写入的用法.分享给大家供大家参考.具体分析如下: Python中wirte()方法把字符串写入文件,writelines()方法可以把列表中存储的内容写入文件. f=fi ...
- python中文件读取不出来_Python文件读取
一文件读取 aa.txt: 登鹳雀楼 白日依山尽,黄河入海流. 欲穷千里目,更上一层楼. 1读取整个文件 filename = 'E:/COLDDEMO/Python/src/FirstDay/文件读 ...
- 【转】python改文件夹名称大全_python文件和目录操作方法大全(含更改文件夹下所有文件名称的实例)
原文: python改文件夹名称大全_python文件和目录操作方法大全(含更改文件夹下所有文件名称的实例)..._心失荒野的博客-CSDN博客 一. ...
- python为什么保存不了_python文件无法保存怎么解决
python中保存文件的方法如下 读文件f = open('Test.txt') #打开文件 data = f.read() #读取文件 print(data) # oneLine = f.readl ...
- C#实现DXF文件读取写入
废话不多说直接上效果图.源码 使用netDXF读取 OpenFileDialog of = new OpenFileDialog();of.Filter = "(*.dxf)|*.dxf|( ...
- node.js同步文件写入、异步文件写入、简单文件写入、简单文件读取、流式文件写入、流式文件读取、fs模块的其他方法
fs(文件系统 File System) 使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载 fs模块中所有的操作都有两种形式可供选择(同步和异步) 同步文件会阻塞程序的执行,也就是 ...
- 从磁盘中读入一个文件并写入另一个文件
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...
- python文件读取写入元组_python文件的读写
1.使用open内置函数打开一个文件 file:相对路径或者绝对路径 mode:文件的模式. r 只读 w只写 b:二进制 t:以文本形式打开等等 encoding:编码方式,windows下 ...
- python在文件中写入字典_python初学--文件操作、字典
文件读写 1.先打开文件 2.读取/写入内容 3.保存文件 文件的open模式有三种 1.w 写模式,它是不能读的 只要用w打开文件,文件中的东西都会被清空 w+, 写读模式,只要沾上w 就会清空原来 ...
- python文件读取与输出_python基本文件操作(文件输入和输出)
文件输入输出中常用的文件对象方法: open: 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作 readline: 读取一行数据包括结尾的换行符在内 write: 将数据写入文件中 c ...
最新文章
- java怎么将字符串反序输出_对String字符串进行反序输出
- python爬虫框架排行榜-哪种Python框架适合你?简单介绍几种主流Python框架
- 一个技术管理者的苦逼【技术管理漫谈】
- Java中的线程本地存储
- Scrum meeting报告
- android opengl es 粒子效果实例代码
- 如何解决IIS配置报错问题:存储空间不足?
- angularjs 事件指令
- Java Project项目在Linux下部署步骤及注意事项
- 计算机自动化专业强的二本大学,2020自动化专业大学排名公布
- 项目组合管理、项目集管理、项目管理和组织级项目管理之间的关系
- 巧用讯飞TTS进行文本合成语音(LINUX操作系统)
- Vue中使用wangEditor实现自定义上传图片和视频
- java 九大行星运行_html5 canvas太阳系九大行星运行动态图代码
- opencv学习笔记——图像
- 实战 - Java程序最后的清道夫Runtime.addShutdowHook
- opencv曝光过度_使用 OpenCV 进行曝光融合(Exposure Fusion)成像
- mysql 函数权限控制_MySql授权和撤销权限操作
- FPGA----ZCU106与RTDs的udp数据收发实验
- Android Settings搜索Search方案分析
热门文章
- 电子电路设计——三人抢答电路(JK触发器版)
- Fiber 内部:React 中新的协调算法的深入概述
- 作为管理者的第6周工作感悟
- 一套大而全的系统架构体系与具体落地方案
- 'string' file not found
- 百度网盘 | 爱奇艺万能播放器与百度网盘的功能关联体验
- Better Scroll+Vue、div的@click无效解决方法
- informatica powercenter 9.6.1测试迁移数据
- C语言综合练习4:快译通上
- 靠谱”是reliable,那“不靠谱”用英文怎么表达呢?