码迷,mamicode.com
首页 > 编程语言 > 详细

Python-文件处理

时间:2021-07-23 17:44:49      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:seek   创建   刷新   adl   错误   class   font   编辑   改变   

一、在 Python 中使用文件的关键函数是 open() 函数。open() 函数有两个参数:文件名(file)和模式(access_mode)

access_mode参数有:
r : 以只读方式打开文件。文件的指针将在文件开头。这是默认模式。
rb: 以二进制格式打开一个文件用于只读。一般用于非文本文件如图片等
r+ : 打开一个文件用于读写(文件的指针将在文件开头)
w : 打开一个文件只用于写入,如果文件存在,删除重新编辑,否则新建
wb : 以二进制格式打开一个文件只用于写入
w+ : 打开一个文件用于读写。如果文件存在,删除重新编辑,否则新建写入
a : 打开文件追加内容,存在文件,在文件原内容后增加,否则新建写入
a+ : 打开一个文件用于读写。存在文件,在文件原内容后增加,否则新建用于读写
ab : 以二进制格式打开一个文件用于追加,存在文件,在文件原内容后增加,否则新建写入
ab+ : 以二进制格式打开一个文件用于读写。存在文件,在文件原内容后增加,否则新建用于读写

#往文件写入数据
file.write(string) #可将任何字符串写入一个打开的文件
file.flush() #刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件
file.close() #刷新缓冲区里任何还没写入的信息,并关闭该文件

#读取文件内容
file.read([u‘读取字符长度‘]) #从一个打开的文件中读取一个字符串
file.close() #刷新缓冲区里任何还没写入的信息,并关闭该文件。

#其他与文件相关的方法:
file.tell() #告诉你文件指针的当前位置
file.seek(offset=10,whence=2)
#改变当前文件指针的位置。必须以二进制方式打开的文件。offset表示要移动的字节数
#whence变量指定开始移动字节的参考位置。如果whence为0,将文件的开头作为移动字节的参考位置。如果
#设为1,则使用当前的位置作为参考位置。如果为2,那么该文件的末尾将作为参考位置
  • 创建新文件

 

f = open("myfile.txt","x")    #创建,创建一个空的新文件

f2 = open("myfile1.txt","w")   #写入,如果文件不存在,则创建新文件

f3 = open("myfile3.txt","a")   #追加,如果文件不存在,则创建新文件  

 

  • 读取文件

 

with open("test.txt","r",encoding="utf-8") as file:
    print(file.tell())
    # 改变指针位置,读取中间部分内容
    file.seek(6,0)  #以文件开头开始,改变指针移动六个字节
    print(file.tell())      #现在指针指在第六个字节处
    print(file.readline())   #一行一行打印,将指针所在的这行打印出来
    print(file.read(5))     #指定要返回的字符数("n基础"-一个中文等于两个字节)
    print(file.read())     #从指针所在位置后的内容全部打印出来
    print(file.tell())    #指针在内容最末端
#注:指针位置影响最终获取到的值:如果先写入再读,指针在最后一位,容易读不到文件内容

 

  • 写入文件

 

#例一:
str1= ‘‘‘
Python基础
接口自动化
web自动化
app自动化
‘‘‘
file4 = open(file=test.txt,mode=w,encoding=utf-8)
print(file4.write(str1))
file4.close()

#例二:
html = ‘‘‘
<html>
<body>

<h1>我的第一个标题</h1>

<p>我的第一个段落。</p>

</body>
</html>
‘‘‘
file1 = open(file=test.html,mode=w)   #删除原内容再写入(覆盖原内容)
print(file1.write(html))
file1.close()

 

  • 追加文件

file2 = open(file=test.html,mode=a)   #在原文内容后追加
#print(file2.write("my name is vv"))

file3 = open(file=test.html,mode=a+)   #用于读写,在原文内容后追加
#print(file3.write("python is so easy"))
  • 总结:使用with open() as file,这种语法如果出现错误不需要再次关闭文件

Python-文件处理

标签:seek   创建   刷新   adl   错误   class   font   编辑   改变   

原文地址:https://www.cnblogs.com/deeptester-vv/p/15048368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!