文件操作,重点,日常使用!!!

Posted 人无远虑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作,重点,日常使用!!!相关的知识,希望对你有一定的参考价值。

文件操作

对文件操作流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件

 

 

打开文件的模式有:

  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

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

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

"U"表示在读取时,可以将 \\r \\n \\r\\n自动转换成 \\n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

基础

data =open(\'yesterday\',\'r\',encoding=\'utf-8\') #文件句柄 读
data =open(\'yesterday\',\'w\',encoding=\'utf-8\') #文件句柄 写    会覆盖原来的文件,慎用!!!!
data =open(\'yesterday\',\'a\',encoding=\'utf-8\') #文件句柄 添加
data =open(\'yesterday\',\'r+\',encoding=\'utf-8\') #文件句柄 读写   有用,在最后一行写
data =open(\'yesterday\',\'w+\',encoding=\'utf-8\') #文件句柄 写读   没用,会覆盖内容
data =open(\'yesterday\',\'a+\',encoding=\'utf-8\') #文件句柄 追加读    没卵用
data =open(\'yesterday\',\'wb\') #文件句柄 二进制文件
data.write(\'hellow binary\\n\'.encode()) #不加encode()报错,需要转化二进制
data.close()

实例1

移动光标

f=open(\'yesterday\',\'r\',encoding=\'utf-8\')
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
print(f.tell())   #显示目前光标位置
print(f.seek(0))  #回到起点
print(f.readline())
print(f.tell())   #显示光标当前位置

实例2

fulsh用法,进度条

import  sys
import time

count = 0
star= time.clock()  #程序起始时间

for i in range(20):
if count <9:
sys.stdout.write(\'*\') #stdout 标准显示
sys.stdout.flush()   #flush 立即执行
time.sleep(0.5)
count+1

count+1

end =time.clock()  #结束
print("\\nread:%f s"%(end-star)) #打印程序运行时间 这是我自己百度查的!!!!稳!

 

 

with语句

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

with open(‘log’,‘r’,encoding=\'utf-8) as f:      #f=open(\'log\',\'r\',encoding=\'utf-8\')

如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:

with open(‘log’,‘r’,encoding=\'utf-8) as f,open(‘log2’,‘r’,encoding=\'utf-8)as f_new:
#f=open(\'log\',\'r\',encoding=\'utf-8\')
#f_newopen(\'log2\',\'r\',encoding=\'utf-8\')

 为了更清晰也最好这么写

 

以上是关于文件操作,重点,日常使用!!!的主要内容,如果未能解决你的问题,请参考以下文章

10 个你可能还不知道 VS Code 使用技巧

前端面试题之手写promise

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode 如何操作用户自定义代码片段(快捷键)