文件操作

Posted lowislucifer

tags:

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

一、文件操作

#打开文件: 1.路径(绝对路径、相对路径)。
#         2.编码方式。
#         3.操作方式(只读、只写、读写等)

二、打开方式
  1. w 相关

#  w   w+   w+b     写相关
f=open(cimi.txt,mode="w",encoding=gbk)
f.write(abcdefghigklmn)
#只写方式就不能读
f.close()

f=open(cimi.txt,"w+",encoding=gbk)
#写读方式,清空原先的内容,然后写入
f.write(opq)
#此时光标会到最后的位置,所以读不出来
content1=f.read()
print(content1)
#将光标移到首位
f.seek(0)
content1=f.read()
print(content1)
f.close()
#返回opq

f=open(cimi.txt,mode="w+b")
#凡是有b的就不需要加encoding参数了,而且后面会用到encode方法
f.write(rst.encode(utf-8))
#同样光标移到最后,需要调整光标位置才可以读
f.seek(0)
content2=f.read()
print(content2)
f.close()
#返回b‘rst‘
#弊端在于会清除原先的内容

  2. r 相关

#  r   r+   r+b    读相关
f=open(cimi.txt,"r",encoding=utf=8)
#只读方式打开,光标停在首位
content3=f.read()       #读取首位之后全部内容
print(content3)
#可以调整光标位置,读取部分内容
f.seek(1)
content3=f.read()   
print(content3)
f.seek(0)
content3=f.readline()   #readline可以有参数,限制读取行数,返回的是字符串
print(content3)
f.seek(0)
content3=f.readlines()  #readlines很少有参数,返回的是一个列表,列表中元素是每一行字符组成的字符串
print(content3)
f.close()
#返回
# rst
# st
# rst
# [‘rst‘]

  3. a 相关

#  a   a+   ab      追加写
f=open(cimi.txt,"a",encoding="gbk")
#not readable,在后面写但是不可读,并且每次运行就在后面加写
f.write(\nmicisixili)
f.write(\nkalajahaga)
f.close()

f=open(cimi.txt,"a+",encoding="gbk")
#光标开始位置是最后
f.seek(0)
content4=f.read()
print(content4)
count=f.tell()
print(count)
f.write(\n男儿有胆气,仗剑走天涯)
print(f.tell())
count=f.tell()
f.seek(count-10)
#打开方式是gbk,一个中文两个字节,如果打开方式是utf-8,就是一个中文三个字节
content4=f.read()
print(content4)
f.close()
# 打印
# rst
# micisixili
# kalajahaga
# 123
# 147
# 仗剑走天涯

f=open(cimi.txt,mode="a+b")
f.write(cccc.encode(gbk))
print(----)
count=f.tell()
f.seek(count-50)
content5=f.read()
print(content5)
f.seek(count-50)
listc=f.readlines()
print(listc)
f.close
# ----
# b‘micisixili\r\nkalajahaga\r\n\xc4\xd0\xb6\xf9\xd3\xd0\xb5\xa8\xc6\xf8\xa3\xac\xd5\xcc\xbd\xa3\xd7\xdf\xcc\xec\xd1\xc4cccc‘
# [b‘micisixili\r\n‘, b‘kalajahaga\r\n‘, b‘\xc4\xd0\xb6\xf9\xd3\xd0\xb5\xa8\xc6\xf8\xa3\xac\xd5\xcc\xbd\xa3\xd7\xdf\xcc\xec\xd1\xc4cccc‘]

  4.示例

f=open(cimi.txt,"r+",encoding=gbk)
f.write(qm)
#是从光标位置开始,向后覆盖
content6=f.read()
print(content6)
f.seek(0)
for i in f:
    print(i,end=‘‘)
print(-----)
f.seek(0)
f.truncate(10)
content6=f.read()
print(content6)
f.close()
# 打印
# t
# micis
# micisixili
# kalajahaga
# 男儿有胆气,仗剑走天涯cccc
# qmt
# micis
# micisixili
# kalajahaga
# 男儿有胆气,仗剑走天涯cccc-----
# qmt
# micis

三、高级方式

with open(cimi.txt,"r+",encoding=gbk) as f:
#读写方式,必须是已经存在的文件
    f.write(cv)
    print(f.read())
#不需要关闭,自动关闭

#两个文件一起操作
with open(cimi.txt,"a+",encoding=gbk) as f1,    open(test.txt,"r+",encoding=gbk) as f2:
    contentc=f2.read()
    print(contentc)
    print(------)
    f1.seek(0)
    contentz=f1.read()
    print(contentz)
# 
# ll
# micis
# cill
# ------
# cvll
# micis

 

 

 

 

 

 

 

 

  

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

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

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

代码片段 - Golang 实现集合操作

Apollo Codegen 没有找到生成代码的操作或片段

VSCode自定义代码片段——.vue文件的模板

操作栏标签片段中的片段?