八、文件的处理

简介: f = open ('‪H:\\呵呵.txt',encoding='utf-8',mode='r') s = f.read print(s) f.close f:变量,f_obj,file,f_handler,...文件句柄。
f = open ('‪H:\\呵呵.txt',encoding='utf-8',mode='r')
s = f.read
print(s)
f.close
f:变量,f_obj,file,f_handler,...文件句柄。
open 是windows的系统功能,
windows默认编码方式:gbk,linux默认编码方式utf-8。
f.close()

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

读的几种方式

1.    f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

s=f.read

print(s)

f.close()

这种是全部读出来

2.   f = oepn('H:\\呵呵.txt',endoding='utf-8','r')

s = f.readline

print(s)

print(s)

print(s)

 

f.close()         一行一行的读   每print一次就打印一行

3.   f = open('H:\\呵呵.txt',encoding='utf-8' , 'r')

s = f.readlines

print(s)         把文件的每一行作为一个元素(包括换行符)放到一个列表中  

f.close()

4.   f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

s = f.read(int)   (参数填数字 )

 print(S)            打印字符的个数

     f = open('H:\\呵呵.txt','rb')

     s = f.read(int)  (参数填数字 )  

    print(S)            打印字节的个数

f.close()         

5.   f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

fpr i in f:

  print(i.strip())     循环打印每一行  

在读非文字的文件时候用rb

   f = open('H:\\呵呵.txt','rb')

  s =  f.read()

   print(s)

f.close()

写的方式

如果我没有这个文件夹就创建这个文件夹写入内容,如果有这个文件夹 就清空文件内容  然后再添加

1.    f = open('H:\\呵呵.txt',encoding = 'utf-8','w')

       f.write('kkkk')

       print(f)  

      f.close()

 写入byte数据类型的内容

  f = open('H:\\呵呵.txt','wb')

       f.write('kkkk'.encoding('utf-8'))

     print(f)      

    f.close()

a     有文件就追加内容 没有文件就创建文件加入内容

  f = open('H:\\呵呵.txt',encoding = 'utf-8','a')

       f.write('kkkk')

       print(f)  

      f.close()

r+   先读后写  一定要先读后写 

  f = open('H:\\呵呵.txt',encoding = 'utf-8','r+')

s = f.read()

 f.write('kkkk')

  print(f)  

  f.close()

w+    先写后读

f = open('H:\\呵呵.txt',encoding = 'utf-8','w+')

 

f.write('kklkk')

print(f.tell())   查找光标在什么位置

f.seek(0)         参数填入数字 然后把光标调整到想要的位置

s = f.read()

print(s) 

f.close()   

a+    追加读 可以一直先写入再读出来

f = open('H:\\呵呵.txt',encoding = 'utf-8','a+')

f.write('kklkk')

f.seek(0)           

s = f.read()

print(s)        

其他方法

判断是否可读  可写打印的是bool值

print(f.writable())

print(f.readable()

f.truncate()     参数填数字   按照字节个数来截取文件内容

系统中修改文件的过程

1,将源文件读取到内存中

2,将原文件的内容修改成新内容

3,将新字符串写入新文件上

4,将原文件删除

5,将新文件的名字改成原文件名

import os
with open ('log',encoding='utf-8','r') as f1,\
 open('bak_log',encoding='utf-8','w') as f2:
    content = fi.read()
    new_content = content.replace('sb','alex')
    f2.wriite(new_content)
os.remove('log')
os.rename('bak_log','log')

  

 

 

目录
相关文章
|
6月前
|
存储 Java 程序员
文件的介绍
文件的介绍
108 1
|
6月前
|
存储 Python 内存技术
什么是文件?
什么是文件?
160 0
|
6月前
|
Windows
HiBit Uninstaller v3.2.10单文件版
HiBit Uninstaller是一款免费无广告功能强大的软件卸载程序,有强制卸载、批量卸载程序、Windows应用商店Appx管理器、Windows更新补丁管理器、浏览器扩展管理器、注册表清理、磁盘垃圾文件清理、快捷方式修复、文件粉碎程序、进程管理器、启动项管理器、系统服务管理器、计划任务管理器、资源管理器菜单项管理器、Windows系统还原管理器等功能。
50 2
|
6月前
文件
文件操作。
38 0
|
存储 C语言
文件(下)——“C”
文件(下)——“C”
|
C#
C#生成anb文件
C#生成anb文件
132 0
C#生成anb文件
|
IDE Linux 开发工具
.editorconfig文件
.editorconfig文件
73 0
小技巧——对比两个文件是否相同
小技巧——对比两个文件是否相同
120 0
|
PHP Windows JavaScript