Python文件读写缓冲区和文件读写操作实例

Python入门实战:文件读写与操作 1.背景介绍 文件读写与操作是数据处理中最基本的操作之一,而在数据分析、人工智能等领域都需要频繁地对数据进行读取、写入、存储、运算等操作。因此掌握文件读写与操作至关重要。本文将以Python语言作为工具,全面讲解文件的读写操作及其功能。 文件操作的基本知识首先需要了解一下,什么是文件?文件可以简单理解为磁盘上存储的数据,但是更准确的说法应 阅读详情

1、python文件缓冲区

f = open('test', 'w', 1)    # 第三个参数为1表示行缓冲,默认值为-1
while True:
    data = input('>>>')
    if not data:
        break
    f.write(data)
    f.flush()       # 立即刷新缓冲,写入磁盘

f.close()       # 文件结束刷新缓冲区

2、python文件偏移量
定义:打开一个文件进行操作时系统会自动生成一个记录,记录中描述了我们对文件的一系列操作。其中包括每次操作到的文件位置。文件的读写操作都是从这个位置开始进行的。

"""
seek.py 文件偏移量演示
    seek(offset[,whence])   offset表示相对于某个位置移动的字节数。负数表示向前移动,正数表示向后移动
    whence是基准位置的默认值为 0,代表从文件开头算起,1代表从当前位置算起,2 代表从文件末尾算起。
    r w open 打开文件偏移量在开头
    a 打开文件偏移量在结尾
    通常以二进制方式打开操作文件偏移量
"""  
f = open('test', 'wb+')
f.write(b'Hello World')
f.flush()
# print('文件偏移量:{0}'.format(f.tell()))
print('文件偏移量:%s' % (f.tell()))
# 操作文件偏移量
f.seek(5, 0)
data = f.read()
print(data)
f.close()

3、文件读写操作
file_object = open(file_name, access_mode=‘r’, buffering=-1)
功能:打开一个文件,返回一个文件对象。
参数:file_name 文件名;
access_mode 打开文件的方式,如果不写默认为‘r’
文件模式 操作
r 以读方式打开 文件必须存在
w 以写方式打开
文件不存在则创建,存在清空原有内容
a 以追加模式打开
r+ 以读写模式打开 文件必须存在
w+ 以读写模式打开文件
不存在则创建,存在清空原有内容
a+ 以读写模式打开 追加模式
rb 以二进制读模式打开 同r
wb 以二进制写模式打开 同w
ab 以二进制追加模式打开 同a
rb+ 以二进制读写模式打开 同r+
wb+ 以二进制读写模式打开 同w+
ab+ 以二进制读写模式打开 同a+
buffering 1表示有行缓冲,默认则表示使用系统默认提供的缓冲机制。
返回值:成功返回文件操作对象。

  • 读文件操作函数

    read([size])
    功能: 来直接读取文件中字符
    size:读取字节数
    返回值: 返回读取到的内容

    readline([size])
    功能: 用来读取文件中一行
    size:默认-1,读取一行,给定数值表示读取字节数
    返回值: 返回读取到的内容

    readlines([sizeint])
    功能: 读取文件中的每一行作为列表中的一项
    size:默认-1,读取所有,给定数值表示读取字节数
    返回值: 返回读取到的内容列表

  • 写操作函数

    write(string)
    功能: 把文本数据或二进制数据块的字符串写入到文件中去
    参数:要写入的内容
    返回值:写入的字符个数

    writelines(str_list)
    功能:接受一个字符串列表作为参数,将它们写入文件。
    参数: 要写入的内容列表

  • 关闭文件操作
    file_object.close()

  • 常见文件操作函数
    1、获取文件大小 os.path.getsize(file)
    2、查看文件列表 os.listdir(dir)
    3、查看文件是否存在 os.path.exists(file)
    4、判断文件类型 os.path.isfile(file)
    5、删除文件 os.remove(file)

4、文件操作练习

"""
输入要复制的文件路径,将文件复制到另外一个文件目录下
"""
filename = input('File:')       # 输入文件名
try:
    fr = open(filename, 'rb')       # 二进制打开文件
except FileExistsError as e:
    print(e)
else:
    fw = open('/home/xiaohuo/PycharmProjects' + filename.split('/')[-1], 'wb')      # 打开文件
    while True:
        data = fr.read(1024)        # 读取文件
        if not data:
            break
        else:
            fw.write(data)
        fr.close()
Python StringIO模块实现在内存缓冲区中读写数据 主要介绍了Python StringIO模块实现在内存缓冲区中读写数据,本文讲解了使用实例、StringIO类中的方法、文件操作和字符串操作示例等内容,需要的朋友可以参考下 立即下载

相关推荐

Android Studio连接手机详细教程(包含遇到的问题集)

如果以上内容全都调试正确了,还是存在这个无法安装的问题,多半是一开始用的别的手机进行调试安装,然后抽掉线重新换上另一个手机安装调试才会报错。无法识别的 USB 设备,跟这台计算机连接的前一个 USB 设备工作不正常,Windows 无法识别它。此时,我的开发者选项已经开启,并且windows系统和android studio已经能够识别我的设备了,但还是报了这样的错误。右击你的手机——>更新驱动程序——>浏览我的计算机以查找驱动程序软件。右击此电脑——>属性——>设备管理器——>便携设备。

IT小郭的技术博客 4万+

python 文件操作-2

Python 文件操作-2。。。JSON文件基础!

分享 1815

学习笔记:物理信息神经网络(PINN)

PINN 的强大在于它打破了传统数值方法的限制,将神经网络的非线性拟合能力与物理方程的严谨性结合起来。它在处理高维、数据稀缺、复杂物理约束的场景下尤其出色。当然,PINN 也有收敛慢、梯度消失等挑战,比如,复杂 PDE 可能导致梯度传播困难,收敛慢(梯度消失)、于具有快速变化特征的系统,如冲击波,标准 PINN 可能精度不足,需要改进策略,比如自适应采样或多尺度特征提取。但随着研究深入,这些问题正在不断被解决。物理或化学方程为什么往往是偏微分方程?什么是物理信息神经网络(PINN)?x_%7Bi%7D。

qq_52635735的博客 1万+

Python实现将内容写入文件的五种方法总结

本篇带你详细看一下python将内容写入文件的方法以及细节,主要包括write()方法、writelines() 方法、print() 函数、使用 csv 模块、使用 json 模块,需要的可以参考一下。

ai520wangzha的博客 14万+

鸿蒙读书笔记1:《鸿蒙操作系统设计原理与架构》

GUI、 语 音 控 制 方 式 的 VUI(Voice User Interface, 语 音 用 户 界。电话、多媒体、DFX、MSDP(Multimodal Sensor Data Platform,多。面)、手势/姿态控制的CVUI(Computer Vision User Interface,计算。KAL(Kernel Abstract Layer,内核抽象层)通过屏蔽多内核差异,JavaScript、C、C++等多语言的用户程序开发框架,以及UI框架、

jackyrongvip的专栏 2448

从原理到代码:一文搞懂LFM信号脉冲压缩在Matlab中的实现

本文深入解析了LFM信号脉冲压缩的核心原理与Matlab实现方法。从线性调频信号的数学表达、时频特性入手,详细讲解了如何构建多目标回波仿真环境,并重点阐述了匹配滤波器的频域实现算法。文章提供了完整的、可运行的Matlab代码,涵盖信号生成、噪声添加、脉冲压缩及性能评估等关键步骤,并探讨了加窗处理、参数选择等工程实践中的考量,为雷达信号处理的学习与实践提供了清晰指南。

weixin_29063035的博客 415

python基础——I/O缓冲

问题:什么是全缓冲、行缓冲和无缓冲? 这里的缓冲是指用户层的I/O缓冲区,不是内核缓冲。 全缓冲:填满标准I/O缓存区才进行实际的I/O操作。磁盘上的文件用标准I/O打开,默认都是全缓存的。当缓存区填满或者进行flush操作时候才会进行磁盘操作。 行缓冲:当输入输出遇到换行符时候就是行缓存了。标准输入和标准输出都是行缓存。 无缓冲:用户层不提供缓冲,对流的读写可以立即操作实际文件。典型例子就是标准错误输出,因为它必须尽快输出,且是输出到具有交互式的设备商,如屏幕,不是磁盘。 上述都是I/O缓冲区,其

weixin_41635393的博客 851

在统信UOS Server 20上踩坑记:手把手教你搞定openGauss 5.0.0企业版安装(附常见报错解决方案)

本文详细记录了在统信UOS Server 20上安装openGauss 5.0企业版的实战经验,包括环境准备、依赖库问题、目录权限、内存参数调优等常见问题的解决方案。通过伪装系统标识、建立软链接、调整内存参数等方法,成功克服国产操作系统与企业级数据库的兼容性挑战,为开发者提供了一份深度排雷指南。

weixin_28698059的博客 263

Python 文件操作:读取、写入和追加写入

文件操作是编程中处理数据持久化的核心技能。Python 通过简洁的语法和丰富的功能,让文件操作变得非常高效。以下内容将介绍文件操作的关键点,并附代码示例和注意事项。

qq_61638996的博客 3598

STM32CubeIDE串口打印浮点数踩坑实录:5分钟搞定printf输出小数(附完整配置截图)

本文针对STM32CubeIDE中串口无法打印浮点数的常见问题,提供了详细的解决方案。核心在于通过添加“-u _printf_float”链接器参数,启用标准库的浮点数格式化支持。文章附有完整的配置截图和步骤,并提供了系统性的排查清单,帮助开发者快速解决printf输出小数的问题。

weixin_29163797的博客 343

《ESP32单片机基础入门》第2章:开发环境搭建

【代码】《ESP32单片机基础入门》第2章:开发环境搭建。

2301_79143213的博客 579

Python第七章03:文件写入操作

B站黑马程序员,自学笔记分享

Seeding_Python的博客 458

PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算

一、PCIE接口速率: 二、PCIE相关概念: 传输速率为每秒传输量GT/s,而不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位; 比如 PCIe 1.x和PCIe 2.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。 GT/s —— Giga transation per second (千兆传输/秒),即每一秒内传输的次数。重点在于描述物理层通信协议的速率属性,可以不和链路宽度等关联。 Gbps —— Giga Bits Per Second

技术联盟 1万+

三分钟带你了解Python文件操作与IO流

在探索编程世界的奇幻旅程中,文件操作和IO(输入/输出)流是每一个探险者必须掌握的基础技能。在Python的世界中,这些技能尤为关键,它们像是巫师手中的魔杖,能让我们与文件进行深度的交流。本文将带你快速了解Python中的文件操作和IO流,通过大量的实例和代码,确保你能够自信地在Python的世界中畅游。

4.0啊的博客 1528

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python创建文件对象的函数_Python学习笔记之—— File(文件) 对象常用函数

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:1、file.close()close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 close() 方法关闭文件是一...

weixin_39753213的博客 1063

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

python file函数的用法_python3 文件操作常用函数用法示例

1. file.close()关闭文件。关闭后文件不能再进行读写操作,需要重新打开才能进行读写。f = open('demo.text' , 'r') # 使用只读方式打开文本print(f.read()) # 打印demo.text文件内容f.close() # 关闭文件2. file.flush()将缓存区中的...

weixin_39773215的博客 490

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python文件操作

一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分。 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件...

a315612852的博客 87

python的file函数_python之file 方法

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:1 file.close()close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 close() 方法关闭文...

weixin_39578899的博客 553

[Python]读写文件方法

1.open 使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open('thefile.txt')try:     all_the_text = file_object.read( )finally:     file_object.close( ) 注:不能把open语句放在...

hereson 147

Python3_File(文件)基础内容2_file 对象常用函数

file 对象常用的函数 方法 描述 file.close() 关闭文件,关闭后文件不能在进行读写操作 file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入。 file.fileno() 返回一个整型的文件描述符(file descriptor FD整型),可以用在如os模块的read方法等一些底层操作上。 file.isatty() 如果文件连接到一个终端设置,返回True,否则返回Flase file.read([

一个的博客 911

语言基础之:文件操作

文件操作9.1 创建格式9.2 常用功能9.2.1 读文件9.2.2 "w"写文件9.2.3 遍历与打印插入9.2.4 f.truncate()函数9.2.5 f.flush()9.2.6 修改文件内容9.2.7 其他9.3 with 语句9.4 编码转换 9.1 创建格式 open() 将会返回一个 file 对象,基本语法格式如下: open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=T

f_carey的博客 341

python之file 方法

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 1 file.close() close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。 当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 clos...

weixin_30521161的博客 99

9、文件操作

open("filename",encoding) data=open("filename",encoding='utf-8').read() w 创建一个新文件。 r 读取 ,不可写 a ,追加 ,不能读 r+ 读取n行后,写仍然从文件末尾开始写 w+写读,创建一个新文件,写就只能追加到最后。 a+ rb 二进制文...

aixiongzi6486的博客 110

python基础教程学习笔记

第十一章 文件和流 flush(),close()会把缓冲区的数据写到硬盘。 read(),readline(),readlines()分别为读取字符,读取行,读取整个文件。 fileinput() 和 readline()非常相似,只是fileinput把全部的行读到创建的xreadlines对象中,而fileinput则把全部的行读到列表。 文件迭代器不用显式的关闭文件:(1) for line

u014697805的博客 445

python3.0 File

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。因为文件自动刷新缓冲区是惰性的,所以需要手动flush() 方法去刷新缓冲区,刷新文件内容。方法用于从文件读取整行,包括 "\n" 字符。方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。如果操作成功,则返回新的文件位置,如果操作失败,则函数返回 -1。

weixin_53484385的博客 512
上一篇: Python基础必学---字符串
下一篇: PythonTCP网络编程及应用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值