1、打开文件

f = open('db','r')   #只读

f = open('db','w')   #只写,先清空原文件

f = open('db','x')   #文件存在,报错,不存在,创建并只写

f = open('db','a')   #追加

所有后边加b的,都是以字节的方式打开文件,不需要python帮助转换成字符串类型。如:ab、rb、wb、xb

f = open("db","ab")

#当以字节的方式打开时,往文件中写入的时候也要用写入字节,写字符串会报错。

f.write(bytes("坚持",encoding="utf-8"))

f.close()

"+"表示可以同时读写文件

r+, 读写【可读,可写】

w+, 写读【可读,可写】

x+ ,写读【可读,可写】

a+, 写读【可读,可写】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
f = open("db","r+",encoding="utf-8")
data = f.read()
print(data)
f.write("111")
f.close()
#文件有一个指针,f.read读文件了,指针就会到最末尾。
#f.seek(1)  功能是主动把指针调到一个位置,f.seek(1),把指针跳到1的位置。写的时候会从指针
#开始往后覆盖,不是追加。
#python只要一读,再往里写内容时,会默认在最后追加。所以此时需要通过tell和seek来把指针移到当前位置
#seek的时候永远是以字节的方式找位置。即使有中文,如果f.seek(1),就会把中文给分开。
#如果打开模式无b,则f.read(1) 如果以字符串的方式打开,就会读取一个字符。
#print (f.tell())   获取当前指针的位置。(字节)
#f.seek(f.tell())   调整当前指针的位置。(字节)
#f.write("888")     #当前指针位置开始向后覆盖

2、操作文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
read()     #无参数,读全部;有参数:
                               b:按字节
                               无b:按字符
tell()     #获取当前指针位置
write()    #写数据,b:字节; 无b,字符
close()
fileno()   #文件描述符
flush()    #强刷,强制保存到硬盘。在文件close之前,写入的内容此时如果其他程序去读,是看不到的。如果使用f.flush(),就会强制把内容刷进去,
#即使没有close,其他程序也可以看到文件中更新的内容了。
readline() #仅读取一行,不会出现文件巨大,把内存撑爆
truncate() #截断,执行truncate()后,指针后边的内容会全部删除,例:
f = open("db","r+",encoding="utf-8")
f.seek(3)
f.truncate()
f.close
#for循环文件对象f = open(xxx)

3、关闭文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
f.close()
with open('db','r+',encoding="utf-8") as f:
    pass
#使用with open方式打开文件,当代码块执行完后,文件自动关闭。
 
#with打开多个文件
with open('db') as f1, open('db2') as f2:
    pass
示例:读取一个文件前十行,写入到另一个文件中
with open('db','r',encoding='utf-8') as f1, open('db2','w',encoding='utf-8') as f2:
    times = 0
    for line in f1:
        time += 1
        if times <= 10:
            f2.write(line)
        else:
            break

python(五)文件操作的更多相关文章

  1. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  2. python中文件操作的其他方法

    前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...

  3. Python :open文件操作,配合read()使用!

    python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...

  4. Python 常见文件操作的函数示例(转)

    转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...

  5. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...

  6. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  7. Python常见文件操作的函数示例

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...

  8. python的文件操作及简单的用例

    一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...

  9. python基本文件操作

    python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...

随机推荐

  1. spring security 判断用户是否登录 只要登录就可以访问资源

    有些情况,只要用户登录就可以访问某些资源,而不需要具体要求用户拥有哪些权限,这时候可以使用IS_AUTHENTICATED_FULLY,配置如下所示: <http auto-config='tr ...

  2. SRM 588 DIV1

    250 题意:有n首不同的曲子,你唱每首曲子需要花费a的时间以及一个调整的时间b,调整的时间为此首歌的曲调减去上一首歌的曲调的绝对值. 思路:我们用dp[i][k]表示前i首歌只唱k首用的最小时间花费 ...

  3. 微信小程序学习

    官方网站 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 项目结构介绍 -- MINA框架 https://mp.weixin.qq.com/ ...

  4. jquery ajax 对异步队列defer与XMLHttprequest.onload的依赖

    ajax 对异步队列defer与XMLHttprequest.onload的依赖

  5. rbd命令

    chen@admin-node:~$ rbd --help usage: rbd [-n <auth user>] [OPTIONS] <cmd> ... where 'poo ...

  6. php数字操作,高精度函数,保留计算结果小数位

    $l = 45456.51; $r = 455778.44; $e = '100.00'; $f= '500.00'; $res = bcadd($l, $r,3);//小数点后的位数,精度就是由这个 ...

  7. Mongo中append方法使用

    在MongoDB的官网已经很详细的介绍了各种客户端的使用,其中也包括java的,在此,仅对几个比较疑惑的地方做个标注: (1).如何向db中添加collection? 如果在api文档中找不到答案,那 ...

  8. Codeforces Round #376 (Div. 2) C D F

    在十五楼做的cf..一会一断...比赛的时候做出了ABCF 就没有时间了 之后没看题解写出了D..E是个神奇的博弈(递推或者dp?)看了题解也没有理解..先写了CDF.. C 有n个袜子 每个袜子都有 ...

  9. Nginx 反向代理学习(一)

    反向代理apache等http资源 ## Basic reverse proxy server ## upstream apachephp{ server 127.0.0.1:8560; #php5. ...

  10. Bugzilla说明

    简介 Bugzilla是Mozilla公司向我们提供的一个开源的免费缺陷跟踪工具.作为一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的Bug跟踪体系,包括报告Bug.查询Bug记录并产生报表.处 ...