Python文档操作

1.打开和关闭文件

open('C:\Users\Second One\Desktop\a.txt')文件路径必须完整路径且为字符串格式

有三种方式:

open('C:\\Users\\Second One\\Desktop\\a.txt')

open('C:/Users/Second One/Desktop/a.txt')

open(r'C:\Users\Second One\Desktop\a.txt')

close(打开后必须要关闭)

 

2.文件打开模式rt,wt,at

用读模式打开只能读,用写模式打开只能写,不能既读又写

读:

f = open(r'C:\Users\Second One\Desktop\a.txt','r',encoding='utf-8')(以什么编码方式携程的文件就需要以什么编码方式打开)

data = f.read()可以在括号中指定字符个数

f.close()

f.readline()默认读取一行

f.readlines()将内容以列表形式展现出来

写(覆盖):

f = open(r'C:\Users\Second One\Desktop\a.txt','w',encoding='utf-8')

f.write()

f.writable()是否可写

f.writelines()括号内为可迭代对象

f.close()

写(追加):

f = open(r'C:\Users\Second One\Desktop\a.txt','a',encoding='utf-8')

f.write(\n)可以另起一行

f.close

 

3.pycharm内置自动关闭文件函数

with open(r'C:\Users\Second One\Desktop\a.txt','r',encoding='utf-8') as f:

 

文件内内容替换

with open(r'C:\Users\Second One\Desktop\a.txt','r',encoding='utf-8') as f1:

data = f1.read()

new = data.replace('abc','sb250')

with open(r'C:\Users\Second One\Desktop\a.txt','w',encoding='utf-8') as f2:

f2.write(new)

 

4.文件打开模式rb,wb,ab(二进制方式)

with open(r'C:\Users\Second One\Desktop\a.txt','rb') as f:

data = f.read()可以按照字节读取内容

f.write('你好'.encode('utf-8'))汉字必须要进行编码

f.write(b'abc')英文字母及符号需要在字符串前加“b”或者进行转码

 

5.文件内光标移动

with open(r'C:\Users\Second One\Desktop\a.txt','r',encoding='utf-8') as f:

data=f.read(2)文件读取命令执行一次后光标会移动到读取出的内容的后面,下一次命令执行会在光标车次的位置开始读

 

光标移动 f.seek()

f.seek(0,0)后面的0表示把光标移动到开头,前面的数字代表光标移动步数

f.seek(0,1)后面的1表示光标相对位置,前面的数字代表光标移动步数

f.seek(0,2)后面的2表示把光标移动到末尾,前面的数字代表光标移动步数

rt模式打开的文件前面的数字只能是0

f.seek(2,0)表示把光标从头开始向右移动2个字节

f.seek(1,1)表示把光标从当前位置想右移动1个字节

f.seek(-3,2)表示把光标从结尾向左移动3个字节

 

6.利用光标进行动态监控文件

import time

with open(r'C:\Users\Second One\Desktop\a.txt','rb') as f:

f.seek(0,2)

while True:

data = f.read()

if  '404' in data:(此写法是错误的,字符串是无法与字节形式打开的文件进行比较的)

if  b'404' in data:

print(data)

else:

time.sleep(0.5)

转载于:https://www.cnblogs.com/Agnostida-Trilobita/p/11023461.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值