今日所得

  文件操作模式的补充

  文件光标的移动控制

  截断文件

  修改文件

  函数的简单介绍

文件操作模式的补充

  1. """
  2. r
  3. w
  4. a
  5. 将上面的三个模式称为纯净模式
  6. r+
  7. w+
  8. a+
  9. """
  10. with open(r'test',mode='r+',encoding='utf-8') as f:
  11. print(f.readable())
  12. print(f.writable())
  13. print(f.readline()) # 'r+'模式比起'r'模式不仅可以读,还可以写入
  14. f.write('hehehe')
  15.  
  16. with open(r'test',mode='w+',encoding='utf-8') as f:
  17. print(f.readable())
  18. print(f.writable())
  19. print(f.readline()) # 'w+'模式可读可写,但还是会清空文件再写入,没有文件时,会创建一个
  20. f.write('hehehe')
  21.  
  22. with open(r'test',mode='r+b') as f:
  23. print(f.readable())
  24. print(f.writable()) # b模式是以二进制的方式读取的,要想变成我们读的懂得文字需要用.decode来解码
  25. res = f.read()
  26. # print(res.decode('utf-8'))
  27. res1 = str(res,encoding='utf-8')
  28. print(res1)

文件光标的移动控制

  

  1. """
  2. f.seek(offset,whence)
  3. offset:相对偏移量 光标移动的位数
  4. whence:
  5. 0:参照文件的开头 t和b都可以使用
  6. 1:参照光标所在的当前位置 只能在b模式下用
  7. 2:参照文件的末尾 只能在b模式下使用
  8. """
  9.  
  10. with open(r'test','rt',encoding='utf-8') as f:
  11. print(f.read(1))
  12. # f.seek(6,0) # seek移动都是字节数
  13. # f.seek(4,0) # seek移动都是字节数
  14. # print(f.read(1)) # read读取的是字符数
  15. f.seek(0,0)
  16. print(f.read(1))
  17. f.seek(0, 0)
  18. print(f.read(1))
  19. f.seek(6,0)
  20. print(f.read())
  21.  
  22. with open(r'test','rb') as f:
  23. print(f.read(3).decode('utf-8'))
  24. f.seek(0,0)
  25. print(f.read(3).decode('utf-8'))
  26. f.seek(7,0)
  27. print(f.read(1).decode('utf-8'))
  28. # f.seek(6,0) # seek移动都是字节数
  29. # f.seek(4,0) # seek移动都是字节数
  30.  
  31. with open(r'test','r+',encoding='utf-8') as f:
  32. f.seek(3,0)
  33. f.write('过') # 写入的字符不会插到俩个字符中间,只会覆盖当前位置的字符
  34.  
  35. with open(r'test','rb') as f:
  36. print(f.read())
  37. f.seek(-4,2) # 从后往前读
  38. print(f.read().decode('utf-8'))

 

截断文件

  1. with open(r'test','a',encoding='utf-8') as f:
  2. f.truncate(6) # 接收的字节的长度 整型
  3. # 保留0~6字节数 后面的全部删除(截断)

修改文件

  1. # 修改文件1
  2. # 先将数据由硬盘读到内存(读文件)
  3. # 在内存中完成修改(字符串的替换)
  4. # 再覆盖原来的内容(写文件)
  5. with open(r'test02.txt','r',encoding='utf-8') as f:
  6. data = f.read()
  7. print(data)
  8. print(type(data))
  9.  
  10. with open(r'test02.txt','w',encoding='utf-8') as f:
  11. res = data.replace('egon','jason')
  12. print(data)
  13. f.write(res)
  14.  
  15. """
  16. 优点:任意时间硬盘上只有一个文件 不会占用过多硬盘空间
  17. 缺点:当文件过大的情况下,可能会造成内存溢出
  18. """
  19.  
  20. # 文件修改方式2
  21. # 创建一个新文件
  22. # 循环读取老文件内容到内存进行修改 将修改好的内容写到新文件中
  23. # 将老文件删除 将新文件的名字改成老文件名
  24. import os
  25.  
  26. with open(r'test02.txt','r',encoding='utf-8') as read_f,\
  27. open(r'test02.swap','a',encoding='utf-8') as write_f:
  28. for line in read_f:
  29. new_line = line.replace('jason','egon')
  30. write_f.write(new_line)
  31. os.remove('test02.txt')
  32. os.rename('test02.swap','test02.txt')
  33.  
  34. """
  35. 优点:内存中始终只有一行内容 不占内存
  36. 缺点:再某一时刻硬盘上会同时存在两个文件
  37.  
  38. """

函数的简单介绍

  1. """
  2. 可以通过变量名找到变量对应的值
  3. 可以通过函数名+括号 找到函数体所对应的代码并执行
  4. """
  5.  
  6. # 函数名的命名规则跟变量名一模一样
  7.  
  8. # 函数就是工具,并且函数必须先定义后调用(函数名+括号)
  9.  
  10. # 函数体代码定义截断只检测语法 不执行代码
  11.  
  12. def my_len():
  13. n = 0
  14. for i in s:
  15. n += 1
  16. print(n)
  17. my_len()

python关于文件操作的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

  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模式会自动新建此文件夹,当读模式 ...

  10. [转]python file文件操作--内置对象open

    python file文件操作--内置对象open   说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...

随机推荐

  1. [C/C++]编程规范一:头文件篇

    一般来说,每一个.cc或者.cpp文件对应一个头文件(.h文件),当然,也有例外,例如一些测试单元或者main文件,头文件的一些规范可以令代码可读性.程序的性能等大为改观,所以还是要注意头文件的规范问 ...

  2. bash字符串处理

    将movie目录下的文件名写到markdown文件中 , 再转html rm index.md ; for f in `find . *.* | sort`; do [ -f $f ] &&a ...

  3. android机器时间不同步导致网络请求出错

    转自: https://blog.csdn.net/DeMonliuhui/article/details/82226601 获取网页时间代替系统时间 根据下列代码,我们就可以获取任何一个网址的时间( ...

  4. android stutio 添加依赖

    添加依赖有 3种方法: 1 :copy jar 包到libs目录 ,add to library 2: copy  aar 文件到libs  ,gradle 文件 android 节点添加  repo ...

  5. [极客大挑战 2019]Secret File

    0x00知识点 没有过滤file 使用php的file伪协议去读取文件 ?file=php://filter/convert.base64-encode/resource=flag.php 0x01解 ...

  6. 2019 Python工程师平均薪资22K,又涨了11.9%!

    转行的同学最关心的就是Python的薪资情况了.今天我们就来具体看一下Python现在的薪资情况. 这是一张网友统计的Python工程师工资情况图表.详细说明了现在Python工程师在各个城市的薪资情 ...

  7. Linux-sys文件系统

    1.sys文件系统本质上和proc文件系统是一样的,都是虚拟文件系统.都在根目录下有个目录(一个是/proc目录,另一个是/sys目录),因此都不是硬盘中的文件,都是内核中的数据结构的可视化接口. 2 ...

  8. Python笔记_第一篇_面向过程_第一部分_7.文件的操作(.txt)

    在平时,我们不光要对程序内的代码进行输入和输出的操作,还要对程序外的文件进行和语言之间的交换.操作和运算.在基础部分,先讲解对于外部的.txt文件的操作. 第一部分 基本内容讲解 1.   什么是文件 ...

  9. Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比

    本博客强烈推荐: Java电子书高清PDF集合免费下载 https://www.cnblogs.com/yuxiang1/p/12099324.html 前言 在分布式系统中,我们广泛运用消息中间件进 ...

  10. Proe5.0导出PDF至配置文件的相关方法,VC++

    定义文件bcsMessage.txt PLM PLM PLM # login login 测试 # Active messagebox menu Active messagebox menu 激活菜单 ...