首页 > 其他分享 >12.读写文件

12.读写文件

时间:2022-11-04 17:35:38浏览次数:56  
标签:文件 12 read 读写 fd mode file open

1.读文件

  • open:打开文件
  • read:读取文件
  • close:关闭文件
# 打开一个文件,指定文件路径,打开模式,编码方式, 返回一个文件对象
fd = open(file=r'C:\Users\11026\Desktop\test.txt', mode='r', encoding='utf-8')

# 读取文件的所有内容
# print(fd.read()) # hello world 你好,上海

# 指定读取文件内容的大小
# print(fd.read(9))  # hello wor

# 读取一行数据
# print(fd.readline())  # hello world

# 读取所有行数据,会包含着换行符
print(fd.readlines())

# 关闭文件
fd.close()

 

2.写文件

  • open:打开文件
  • write:写入文件
  • close:关闭文件
# 打开一个文件,指定文件路径,打开模式,编码方式, 返回一个文件对象
fd = open(file=r'C:\Users\11026\Desktop\test.txt', mode='wb', encoding='utf-8')

""" 写文件 """
fd.write('hello world'.encode('utf-8'))


# 文件关闭
fd.close()

 

3.文件的打开方式

python中文件的打开方式有多种组合,每个字符的意义如下

========= ===============================================================
Character Meaning
--------- ---------------------------------------------------------------
'r'       open for reading (default)
'w'       open for writing, truncating the file first
'x'       create a new file and open it for writing
'a'       open for writing, appending to the end of the file if it exists

'b'       binary mode
't'       text mode (default)

'+'       open a disk file for updating (reading and writing)

The default mode is 'rt' (open for reading text).

常用的打开模式组合如下:

  • 只读:r,rt,rb (用)
    • 存在,读
    • 不存在,报错
  • 只写:w,wt,wb(用)
    • 存在,清空再写
    • 不存在,创建再写
  • 只写:a,at,ab【尾部追加】
    • 不存在,创建再写
    • 存在,尾部追加。
  • 只写:x,xt,xb
    • 存在,报错
    • 不存在,创建再写。
  • 读写
    • r+,rt+,rb+,默认光标位置:起始位置
    • w+,wt+,wb+,默认光标位置:起始位置(清空文件)
    • a+,at+,ab+,默认光标位置:末尾

4.使用上下文管理操作文件

之前对文件进行操作时,每次都要打开和关闭文件,比较繁琐且容易忘记关闭文件。

以后再进行文件操作时,推荐大家使用with上下文管理,它可以自动实现关闭文件。

 

with open("xxxx.txt", mode='rb') as file_object:
data = file_object.read()
print(data)

在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:

with open("xxxx.txt", mode='rb') as f1, open("xxxx.txt", mode='rb') as f2:
pass

 

思考:如果有一个100G的文件,该如何读取文件呢?

with open(file=r'C:\Users\11026\Desktop\test.txt', mode='r', encoding='utf-8') as fd:
    res = fd.read(1024)
    while res:
        print(res)
        # do something
        res = fd.read(1024)

标签:文件,12,read,读写,fd,mode,file,open
From: https://www.cnblogs.com/victor1234/p/16858356.html

相关文章

  • 按指定编码读写文件
    importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamRea......
  • Python xml 文件解析操作之 ElementTree 模块
    首先我们了解下XML格式Element类型是一种灵活的容器对象,用于在内存中存储结构化数据。每个element对象都具有以下属性:1.tag标签:string对象,表示数据代表的种类。......
  • C# WEB怎么实现大文件上传
    ​HTML部分 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="up6.index" %><!DOCTYPE html PUBLIC "-//W3C//DTDXHTM......
  • linux有哪些文件类型
    七种文件类型在Linux中一切都是文件,但文件都得有类型。那如何查看文件是什么类型了?在Linux常见的文件类型有7种,分别如下所示:文件属性文件类型-常规文件,即file......
  • js 读取文件
    //上传文件调用fileChange(fileData){letraw=file.rawletfileParamListletreader=newFileReader()reader.readAsText(fileD......
  • (数据分享)江苏降水量数据的获取途径及方法:2000年1月-2010年12月小时级数据
    本文章分享的是江苏2000年1月-2010年12月欧洲中心数据30km分辨率的降水数据,平台有欧洲气象中心数据、nasa数据的历史数据、预测数据。 数据简介:降水是指从天空降落到地......
  • pandas对json文件的读取
    defjson_str(file_name:str)->str:#传入文件路径,返回json文件字符串fr=open(file_name,'r',encoding='utf-8')returnfr.read()defread_json(......
  • Win10微软官方镜像iso文件下载
    1、转到下载页面2、按F12后点击小窗口左上角的手机图标3:刷新页面开始下载(win10.iso:链接) ......
  • 【python】后端文件流下载数据
    后台实现下载接口1.1通过文件流下载importosimporttimefromdjango.httpimportStreamingHttpResponsedefdownload_file_blob(name,url):""":param......
  • 大文件上传如何做断点续传
    ​ 1,项目调研因为需要研究下断点上传的问题。找了很久终于找到一个比较好的项目。 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了githu......