python光标位置输⼊⽂字_python⽂本操作
open()函数来打开⼀个⽂件, 获取⽂件句柄(⽂件句柄是⼀个可迭代的对象). 然后通过⽂件句柄就可以进⾏各种各样的操作了了. 根据打开⽅式的不同能够执⾏的操作也会有相应的差异
因为⽂件句柄是⼀个可迭代的对象,可以通过for循环读取数据,并且它每次读取的时候都是读取⼀⾏内容
f = open('gg','r',encodin
g = 'utf-8')for i in f:#读取⽂件中的内容。 ⼀⾏⼀⾏的读取。 每次读取的内容交给前⾯的变量
print(i.strip)
上⾯每次循环相当于直接使⽤f.readline()
f.writelines() 直接将⼀个列表的内容传递写进去,注意的是写⼊的东西都必须是字符串,如果不是字符串的话就会报错
f.writable() 判断⽂件是否是可写的
在打开⼀个⽂件的时候如果⽂件是以绝对路径的⽅式进⾏打开的时候,由于含有’\’eg: C:\Users\vivi\Desktop\python编程\练习答案由于‘\’在编程中有⾃⼰的意义,如果想要在编程中实现的话可以通过转义字符’\’
eg: ‘C:\\Users\\vivi\\Desktop\\python编程\\练习答案’
或者是使⽤时 r ‘C:\Users\vivi\Desktop\python编程\练习答案’‘r’使含有特殊意义的字符都失效
mode :模式
r 只读 (⽂件必须是已经存在)
w 写⼊,如果⽂件已经存在则将原来的⽂件覆盖,再写⼊(⽂件不存在的话可以⾃动创建)
a 打开⼀个⽂件⽤于追加写⼊ (⽂件不存在的话可以⾃动创建)与w模式⼀样,不过写⼊的时候,写⼊到⽂件的最后
⽂本的复制
f= open('gg','r',encoding ='utf-8')
y= open('dd','w',encoding = 'utf-8')for i inf:
y.write(i)
f.close()
y.close()
b - bytes 读取和写⼊的是字节 , ⽤来操作⾮⽂本⽂件(图⽚, ⾳频, 视频)
# rb, wb, ab(作⽤与上⾯的⼀致,不同的是这是⽤来操作⾮⽂本⽂件的)
复制⼀张图⽚的操作,基本与上⾯的⽂本复制⼀样
gg = open(r'C:\Users\vivi\Desktop\⾮.jpg','rb')
f= open(r'C:\Users\vivi\Desktop\ren.jpg','wb')for i ingg:
f.write(i)
gg.close()
r+ w+ a+ + 表⽰的是功能的扩展,# r+ 读写, w+ 写读, a+ 追加写读, r+b, w+b, a+b(功能⼀样,不过是⽤于⾮⽂本⽂件的操作)
r+ 模式下写⼊的内容按照指针的位置进⾏编写,默认的指针位置是在⽂件的开头,如果使⽤read进⾏读取的时候,指针的位置会发⽣变化
在读取之后才进⾏写⼊是没有问题的,因为读取完全部内容之后,不论你读取多少内容。再次写⼊的时候都是在末尾,但是如果先写⼊在读取的话,就会将⽂本的内容进⾏覆盖
w+
f = open("person", mode="w+", encoding="utf-8") # 先清空。 然后再操作
f.write("你好。 我叫肿瘤君")
content = f.read() # 写⼊东西之后。 光标在末尾。 读取不到内容的
print(content)
f.close()
a+, 不论指针(光标)在何处 写⼊的时候都是在末尾
对于光标的 操作:
f.seek(3) # 以字节为单位
# info = f.read(3) # 读取三个字符
打开⼀个⽂件,不从开头开始读(定位)
seek(offset,from)
⼀个偏移量 ⼀个⽅向
from 中 0 表⽰⽂件开头
1 表⽰当前位置
2 表⽰⽂件末尾
偏移量 选定的位置向右偏移指定的字节
eg:
# 把光标移动到⽂件的开头: seek(0)
# 把光标移动到末尾: seek(0, 2)
gg = f.tell() 可以知道当前已经读取到那个字节
f.seek(0,2) 回到⽂本的末尾
pan.seek(0,gg) 回到先前的光标的位置
truncate() 截断⽂件. 慎⽤ ⽆法恢复
f.seek(5) # 光标移动到5
python 不⽀持直接进⾏⽂件修改操作
#⽂件内容的修改
with open('gg',mode = 'r',encoding = 'utf-8') as f ,open('ff',mode = 'w',encoding ='utf-8') as f2:for i inf: f2.place('中','卫'))
python怎么读文件夹下的文件夹
将⽂本中的内容提取出来并添加到字典中
f = open("⽔果.data", mode="r", encoding="utf-8")
titles= f.readline().strip() #读取第⼀⾏ id,name,price,num
t_list = titles.split(",") #【id,name,price,num】
lst=[]for line in f: #"1,苹果,500,60000" {id:1,name:liulian, num:xx, price:xxx}
dic ={}
ll= line.strip().split(",")for i inrange(len(t_list)):
dic[t_list[i]]=ll[i]
lst.append(dic)
f.close()print(lst)
为了解决⼤⽂件的问题
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论