一、文件操作参数

1.文件路径

1)绝对路径:从根目录开始一级一级查找直到找到文件。

f=open('e:\文件操作笔记.txt',encoding='utf-8',mode='r')
content=f.read()
print(content)
f.close

2)相对路径:在同一文件夹下直接写文件名即可。

f=open('log',encoding='utf-8')
content=f.read()
print(content)
f.close()

2.编码方式

3.执行动作

f=open('e:\文件操作笔记.txt',encoding='utf-8',mode='r')
content=f.read()
print(content)
f.close

f:时变量,f_obj,file,f_handler,...文件句柄

open:window的系统功能

'e:\文件操作笔记.txt':文件路径

windows默认编码方式:gbk,linux默认编码方式utf-8

流程:打开一个文件,产生一个文件句柄,对文件句柄进行操作,关闭文件。

二、 文件的打开模式

 1.读:

1)r只读:文件以什么编码方式存储的就以什么编码方式打开,编码不一致时会报错。

2)rb只读,以bytes类型读取(非文字类的文件用rb)

3)r+ 先读后追加,一定要先读后写

f = open('log',encoding='utf-8',mode='r+')
content = f.read()
print(content)
f.write('aaa')
f.close()

4)r+b以bytes类型操作的可读可写

 2.写:

1)w只写

没有文件创建一个文件写入内容

with open('log1',encoding='utf-8',mode='w') as f:
f.write('过会就可怜了')
f.close()

有文件将原文件内容清空,再写入内容。

with open('log1',encoding='utf-8',mode='w') as f:
f.write('666')
f.close()

2)wb只写  bytes类型写

f=open('log',mode='wb')
f.write('老男孩'.encode('utf-8'))
f.close

3)w+ 写读,先写后读

with open('log',encoding='utf-8',mode='w+') as f:
f.write('中国')
print(f.tell())#按字节去读光标位置
f.seek(3) #按字节调整光标位置
print(f.read())
f.close()

4)w+b以bytes类型操作的可写可读

3.追加:

1)a只追加写模式

2)ab只追加写,以bytes类型操作

3)a+追加读

f = open('log',encoding='utf-8',mode='a+')
f.write('BBB')
content = f.read()
print(content)
f.close()

4)a+b以bytes类型操作的可写可读

三、文件的操作方法

1.f.read()全部读出来

f=open('log',encoding='utf-8')
content=f.read()
print(content,type(content))
f.close

2.f.readline()一行一行的读

3.f.readlines()将原文件的每一行作为一个列表的元素

4.read(n)读取一部分

在r模式下read(n)按照字符去读取

在rb模式下read(n)按照字节去读取

5.循环读取

f = open('log',encoding='utf-8')
for i in f:
print(i.strip())
f.close

6.f.writable()是否可写

f = open('log',encoding='utf-8')
print(f.read())
print(f.writable()) #False
f.close()

7.f.truncate()按字节对原文件截取

f = open('log',encoding='utf-8',mode='a')
f.truncate(3)
f.close()

8.f.readable()是否可读

9.f.seek()按字节调整光标位置

10.f.tell()按字节去读光标位置

四、文件的修改

1,将原文件读取到内存。
2,在内存中进行修改,形成新的内容。
3,将新的字符串写入新文件。
4,将原文件删除。
5,将新文件重命名成原文件。

五、with open('log'.encoding='utf-8') as f:

第一个功能:自动关闭文件句柄。      

with open('log',encoding='utf-8') as f:
print(f.read())

第二个功能:一次性操作多个文件句柄。

with open('log',encoding='utf-8') as f1,\
open('log1',encoding='utf-8') as f2:
print(f1.read())
print(f2.read())

最新文章

  1. 浅谈 原生javaScript&&react 实现全局触摸按钮(附带对addeventlistener的了解)
  2. C#的事件
  3. Angularjs中的promise
  4. Gym 100637F F. The Pool for Lucky Ones
  5. 注意SQLServer2012中带参数的XP_ReadErrorLog
  6. ios7.1 masonry布局中出现的问题
  7. Xamarin android使用Sqlite做本地存储数据库
  8. [认证授权] 6.Permission Based Access Control
  9. Kafka(转载)
  10. 震惊!计算机连0.3+0.6都算不对?浅谈IEEE754浮点数算数标准
  11. java中的Condition协作线程接口类
  12. mysql 开发基础系列6 数值与日期函数
  13. JDBC ---获取数据字段 -- 转成map
  14. Spark 跑 java 示例代码
  15. HTTP/1.1新建会话失败 解决方法及分析
  16. Java数组超出范围时如何处理多个异常?
  17. 【问题】PPS、PPSX自动放映格式打开直接进入编辑模式
  18. 浅谈Android RecyclerView
  19. Python学习---Python的框架基础学习
  20. Javascript制作伸缩的二级菜单

热门文章

  1. Hive实现网站PV分析
  2. T-SQL创建数据库常用方法2020年10月29日20:12:04网课笔记
  3. RHCSA 第五天
  4. winform全局异常处理
  5. [开发笔记usbTOcan]需求获取与系统需求分析
  6. Java读取批量Excel文件
  7. gorm中动态使用表名
  8. golang中数组指针和指针数组当做函数参数如何修改数组中的值
  9. centos7 service iptables save 报错
  10. Nginx代理的方式(反向代理)