python中,一切皆对象。

 

一、文件操作流程

(1)打开文件,得到一个文件句柄(对象),赋给一个对象;

(2)通过文件句柄对文件进行操作;

(3)关闭文件。

文件对象f通过open()函数来创建。

open函数常用的三个参数:文件路径/名称、模式、encoding。

 f = open('测试文件','r',encoding='utf-8')
print(f.read())
f.close()

二、open函数中模式参数的常用值

描述
'r' 读模式
'w' 写模式
'a' 追加(append)模式
'b' 二进制模式(可添加到其它模式中使用)
'+' 读/写模式(可添加到其它模式中使用)

在处理声音剪辑或者图像时,应该在模参数中增加'b'。参数'rb'可以用来读取一个二进制文件。

'+'模式与其它模式叠加使用:

描述
'r+' 读写模式。从光标0位置开始读,读完成后光标将停留在最后位置,然后再从该位置开始写。
'a+' 追加读模式。光标默认在最后位置。
'w+' 写读模式。先清空文件内容,再写读。

三、文件方法

close()

close()用于关闭一个已打开的文件对象,关闭后文件不能再进行读写操作。当file对象被引用到另一个文件时,Python会自动关闭之前的file对象。

read()

read(size)方法用于从文件中读取指定的字节数,如果未指定size,则读取所有。

 f = open('test','r')
print(f.read(5))  #读取5个字节
f.close()

如果读取中文字符,则一个汉字被认为是一个字符。

readline()

readline()方法用于从文件中读取整行,包含“\n”字符。

如果指定了非负数的参数,则表示读取指定大小的字节数,包含“\n”字符。

readlines()

readlines()方法用于读取所有行(直到结束符EOF),并返回列表,这就意味着将读取的每一行当作列表中的一个元素。

如果碰到结束符EOF则返回空字符串。

 f=open('小重山','a',encoding='utf8')
print(f.readlines())#['昨夜寒蛩不住鸣。\n', '惊回千里梦,已三更。\n', '起来独自绕阶行。\n', '人悄悄,帘外月胧明。\n', '白首为功名,旧山松竹老,阻归程。\n', '欲将心事付瑶琴。\n', '知音少,弦断有谁听。']

write()

write()方法用于向文件中写入指定字符串。

在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,此时在文件中看不到写入的内容。

writelines()

该方法用于向文件中写入一序列的字符串。换行时需要指定换行符\n。

 fo = open("test.txt", "w")
print ("文件名为: ", fo.name)
seq = ["Oliver\n", "alex"]
fo.writelines( seq )

tell()

返回文件的当前位置,即文件指针当前位置。

seek()

用于移动文件读取指针到指定的位置。

  • offset -- 开始的偏移量,也就是代表需要移动偏移的字节数

  • whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

truncate()

用于截断文件,如果指定了可选参数size,则表示截断文件为size个字符。如果没有指定size,则

flush()

用来刷新缓冲区,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要时被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但如果对数据安全要求较高,避免在突发断电时丢失数据,就需要在关闭前刷新它,这时就可以使用flush()方法。

进度条实例:

 import sys,time
for i in range(30):
sys.stdout.write("*")
sys.stdout.flush()
time.sleep(0.1)

四、with语句

为了避免打开文件后忘记关闭,可以通过with语句来自动管理上下文。

 with open('省市县_new','w',encoding='utf-8') as f_write:
f_write.write(str(current_layer))

Python学习笔记——文件操作的更多相关文章

  1. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  2. 03 python学习笔记-文件操作(三)

    本文内容主要包括以下方面: 1. 文件操作基本认识2. 只读(r, rb)3. 只写(w, wb)4. 追加(a, ab)5. r+读写6. w+写读7. a+写读(追加写读)8. 文件的修改 一.文 ...

  3. [Python学习笔记]文件的读取写入

    文件与文件路径 路径合成 os.path.join() 在Windows上,路径中以倒斜杠作为文件夹之间的分隔符,Linux或OS X中则是正斜杠.如果想要程序正确运行于所有操作系统上,就必须要处理这 ...

  4. python基础学习笔记——文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  5. python学习总结---文件操作

    # 文件操作 ### 目录管理(os) - 示例 ```python # 执行系统命令 # 清屏 # os.system('cls') # 调出计算器 # os.system('calc') # 查看 ...

  6. python学习日记(文件操作)

    文件操作概述 计算机系统分为:操作系统,计算机硬件,应用程序. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序 ...

  7. erlang学习笔记(文件操作)

    参考这里和这里了解到的文件操作的模块有很多:kernel下有:file,stdlib下有:filelib,filename,file_sorter.(具体查看官方文档)

  8. python学习day8 文件操作(深度学习)

    文件操作 (day7内容扩展) 1 文件基本操作 obj = open('路径',mode='模式',encoding='编码')obj.write()obj.read()obj.close() 2 ...

  9. python 学习分享-文件操作篇

    文件操作 f_open=open('*.txt','r')#以只读的方式(r)打开*.txt文件(需要与py文件在同一目录下,如果不同目录,需写全路径) f_open.close()#关闭文件 打开文 ...

随机推荐

  1. codeforces 446A DZY Loves Sequences

    vjudge 上题目链接:codeforces 446A 大意是说最多可以修改数列中的一个数,求最长严格递增的连续子序列长度. 其实就是个 dp 的思想,想好思路后交上去没想到一直 wa 在第二个测试 ...

  2. Software Engineering: 2. Project management

    resources:"Software Engineering" Ian Sommerville For most projects, important goals are: D ...

  3. 小韦XPSP3 V10.0_Ghost精简版

    小韦XPSP3 V10.0_Ghost精简版 该版本基于小韦XPSP3 V10.0,用EasySysprep_4.1进行重新封装,最大程度保持原版极度精简的理念.C盘为NTFS格式,安装后C盘只占用2 ...

  4. Java数据库操作

    一.JDBC 1.JDBC Java数据库连接,用于Java程序中实现数据库操作功能,java.sql包中提供了执行SQL语句,访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口及类. 2. ...

  5. 关于phpstorm中安装配置xdeug

    最近从网上找了好多phpstorm中配置安装xdebug的信息,但是貌似都失败了 ...我也不知道是为什么... 突然有一天 不知道怎么整的就配置成功了 现在可以分享一下了    正好我用的软件的版本 ...

  6. Java—常用数据类型

    1  Vector类 Vector类似于一个数组,但与数组相比在使用上有以下两个优点. (1) 使用的时候无需声明上限,随着元素的增加,Vector的长度会自动增加. (2) Vector提供额外的方 ...

  7. HTML基本知识

    HTML语言:超文本标记语言 基本结构: <html><head><body> <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  8. [转] 深入探讨C++中的引用

    引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确.灵活地使用引用,可以使程序简洁.高效.我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有 ...

  9. jquery中的cookie操作

    使用前在页面中引入下面的代码 /*! * jQuery Cookie Plugin v1.4.1 * https://github.com/carhartl/jquery-cookie * * Cop ...

  10. jquery实现百度类似搜索提示功能(AJAX应用)

    有时候觉得百度那个输入内容就有提示的工具很神奇,它究竟是怎么做到的呢?以前在一个进销存系统中也做过这么个功能,但是远远不及百度的功能强大,百度可以输入首字母,关键字拼音,或关键字都可以匹配,有时在想, ...