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文件和元组相关推荐

  1. python文件读取写入实践_python文件写入实例分析

    本文实例讲述了python文件写入的用法.分享给大家供大家参考.具体分析如下: Python中wirte()方法把字符串写入文件,writelines()方法可以把列表中存储的内容写入文件. f=fi ...

  2. python中文件读取不出来_Python文件读取

    一文件读取 aa.txt: 登鹳雀楼 白日依山尽,黄河入海流. 欲穷千里目,更上一层楼. 1读取整个文件 filename = 'E:/COLDDEMO/Python/src/FirstDay/文件读 ...

  3. 【转】python改文件夹名称大全_python文件和目录操作方法大全(含更改文件夹下所有文件名称的实例)

    原文:​​​​​​ ​​​​​​​​​​​​​​​​​​​python改文件夹名称大全_python文件和目录操作方法大全(含更改文件夹下所有文件名称的实例)..._心失荒野的博客-CSDN博客 一. ...

  4. python为什么保存不了_python文件无法保存怎么解决

    python中保存文件的方法如下 读文件f = open('Test.txt') #打开文件 data = f.read() #读取文件 print(data) # oneLine = f.readl ...

  5. C#实现DXF文件读取写入

    废话不多说直接上效果图.源码 使用netDXF读取 OpenFileDialog of = new OpenFileDialog();of.Filter = "(*.dxf)|*.dxf|( ...

  6. node.js同步文件写入、异步文件写入、简单文件写入、简单文件读取、流式文件写入、流式文件读取、fs模块的其他方法

    fs(文件系统 File System) 使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载 fs模块中所有的操作都有两种形式可供选择(同步和异步) 同步文件会阻塞程序的执行,也就是 ...

  7. 从磁盘中读入一个文件并写入另一个文件

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...

  8. python文件读取写入元组_python文件的读写

    1.使用open内置函数打开一个文件 file:相对路径或者绝对路径 mode:文件的模式. r 只读   w只写  b:二进制  t:以文本形式打开等等 encoding:编码方式,windows下 ...

  9. python在文件中写入字典_python初学--文件操作、字典

    文件读写 1.先打开文件 2.读取/写入内容 3.保存文件 文件的open模式有三种 1.w 写模式,它是不能读的 只要用w打开文件,文件中的东西都会被清空 w+, 写读模式,只要沾上w 就会清空原来 ...

  10. python文件读取与输出_python基本文件操作(文件输入和输出)

    文件输入输出中常用的文件对象方法: open: 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作 readline: 读取一行数据包括结尾的换行符在内 write: 将数据写入文件中 c ...

最新文章

  1. java怎么将字符串反序输出_对String字符串进行反序输出
  2. python爬虫框架排行榜-哪种Python框架适合你?简单介绍几种主流Python框架
  3. 一个技术管理者的苦逼【技术管理漫谈】
  4. Java中的线程本地存储
  5. Scrum meeting报告
  6. android opengl es 粒子效果实例代码
  7. 如何解决IIS配置报错问题:存储空间不足?
  8. angularjs 事件指令
  9. Java Project项目在Linux下部署步骤及注意事项
  10. 计算机自动化专业强的二本大学,2020自动化专业大学排名公布
  11. 项目组合管理、项目集管理、项目管理和组织级项目管理之间的关系
  12. 巧用讯飞TTS进行文本合成语音(LINUX操作系统)
  13. Vue中使用wangEditor实现自定义上传图片和视频
  14. java 九大行星运行_html5 canvas太阳系九大行星运行动态图代码
  15. opencv学习笔记——图像
  16. 实战 - Java程序最后的清道夫Runtime.addShutdowHook
  17. opencv曝光过度_使用 OpenCV 进行曝光融合(Exposure Fusion)成像
  18. mysql 函数权限控制_MySql授权和撤销权限操作
  19. FPGA----ZCU106与RTDs的udp数据收发实验
  20. Android Settings搜索Search方案分析

热门文章

  1. 电子电路设计——三人抢答电路(JK触发器版)
  2. Fiber 内部:React 中新的协调算法的深入概述
  3. 作为管理者的第6周工作感悟
  4. 一套大而全的系统架构体系与具体落地方案
  5. 'string' file not found
  6. 百度网盘 | 爱奇艺万能播放器与百度网盘的功能关联体验
  7. Better Scroll+Vue、div的@click无效解决方法
  8. informatica powercenter 9.6.1测试迁移数据
  9. C语言综合练习4:快译通上
  10. 靠谱”是reliable,那“不靠谱”用英文怎么表达呢?