首页 > 编程语言 >Python-文件基本操作

Python-文件基本操作

时间:2023-04-07 17:12:51浏览次数:38  
标签:fp 文件 Python read print 基本操作 seek 光标

"""
coding:utf-8
@Software:PyCharm
@Time:2023/4/6 16:59
@author:Panda
"""


# 文件基础3步骤:打开文件,写入或读文件,关闭文件,文件打开必定要关闭(close())
"""
data = '好的'
data_str = 'abc'
res = data_str.encode('utf-8')
print(res)
# Output: b'abc'
dat = b'\xe5\xa5\xbd'.decode()
print(dat)
# Output: 好

fp = open('./ce.png', mode='rb')
res = fp.read()
fp.close()
print(len(res))
# Output: 3475

with open('xx.png', mode='wb') as f:
    f.write(res)
"""


# 文件操作3个扩展模式
"""
read() :读取字符个数,从左往右读,默认在末尾处
seek() :调整文件指针的位置
    seek(0) : 指针(光标)移动到0字节的位置(也就是开头的位置)
    seek(0, 2) : 指针(光标)移动到末尾的位置
tell() : 返回光标左边的字节数
"""
# 1. r+先读后写
"""
fp = open('test1.txt', 'r+')  # 原内容是 good afternoon
res = fp.read()
fp.write('hello')
print(fp.read())
# Output:空字符串  因为read()默认光标在结尾
fp.seek(0)
print(fp.read())
fp.close()
# Output:good afternoon hello   因为seek()将光标设置为了开头
"""


# 2. r+ 先写后读
"""
fp = open('test1.txt', 'r+')  # 原内容是 good afternoon hello
# 在r模式下 需要把光标移动到最后,不然原字符会被覆盖
fp.seek(0, 2)
fp.write(' permanent')
fp.seek(0)
print(fp.read())
# Output:good afternoon hello permanent
fp.close()
"""

# 3.w+ 可读可写 清空重写(有文件清空写,没有文件创建文件写)
"""
fp = open('test1.txt', 'w+')  # 原内容是 good afternoon hello
fp.write('i love xye')
fp.seek(0)
print(fp.read())
fp.close()
"""
# 4.a+ 可读可写 追加写(有文件追加写,没有文件创建文件写)encoding字节编码默认为utf-8
'''"""
a+的模式中 会强行把光标放在文件的末尾进行追加写入
r+基于光标在当前指定位置写入会覆盖
"""
fp = open('test1.txt', 'a+', encoding='utf-8')  # 原内容是 i love xye
fp.write(' permanent')
fp.seek(0)
print(fp.read())
fp.close()'''

# 5.在文件操作光标的时候,一般情况下的,seek通常用法只用2个。
# seek(0) seek(0, 2) 因为如果编码是中文字符的情况会导致编码字节无法解析报错

# 6.在文件操作中, 直接用open 一定的操作需要close()关闭文件释放资源内存,可以手动刷新fp.flash()缓冲区
# 用with 打开则不需要手动关闭
with open('test1.txt', 'a+') as f:
    f.write('permanent my mine my heart')
    f.seek(0)
    print(f.read())

 

标签:fp,文件,Python,read,print,基本操作,seek,光标
From: https://www.cnblogs.com/future-panda/p/17296776.html

相关文章

  • opencv-python 4.15. 基于分水岭算法的图像分割
    理论任何灰度图像都可以看作是地形表面,其中高强度表示峰和丘陵,而低强度表示山谷。你开始用不同颜色的水(标签)填充每个孤立的山谷(局部最小值)。随着水的上升,取决于附近的峰值(梯度),来自不同山谷的水,明显具有不同的颜色将开始融合。为避免这种情况,你需要在水合并的位置建立障碍。你继续......
  • 【python基础】五大数据类型及常用方法
    1.数据类型概述 python中的字符串,列表,元组,字典,集合这五种数据类型均是可迭代的,可以使用for循环访问,涵盖了三类数据结构分别为序列、散列、集合。序列: 字符串str 列表list() 元组tuple() 散列: 字典dict() 集......
  • python中的二分查找
    二分查找的前提是查找的数据按照顺序排序二分查找的核心思想是递归#arr:查找的对象#left:arr的左边界#right:arr的右边界#x:需要查找的数defbinary_search(arr,left,right,x):#左边界小于等于右边界ifleft<=right:#得到中位数mid=int((lef......
  • Python Qt 文件转换
    PythonQt文件转换ui文件编译成py文件用windows操作系统的cmd窗口转换进入cmd所在ui文件路径下,执行如下命令:pyside6-uicstudent.ui-ostudent.py用批处理形式转换建立扩展名为bat的文件,双击打开就好。cd/ee:\pythonpyside6-uicstudent.ui-ostudent.py编写pytho......
  • 关于FTP文件传输协议说明,带你了解更详情的文件传输协议
    网络和其他网络上的人与设备之间的通信使用协议进行。您可以说协议定义了对话规则:谁必须在何时发送哪些信息?如果数据没有到达接收者,会发生什么?您如何保护转帐免受错误和犯规?每当我们使用Internet时,OSI模型中的这些协议就一直在使用。最著名的是HTTP和HTTPS,通常用于访问网站。另一......
  • 日志和文件共享
    rsyslog管理系统日志术语facility:设施,从功能或程序上对日志进行归类#内置分类auth,authpriv,cron,daemon,ftp,kern,lpr,mail,news,security(auth),user,uucp,syslog#自定义的分类local0-local7Priority优先级别,从低到高排序debug,info,notice,warn(w......
  • 获取Python函数信息的方法
    Python的反射机制可以动态获取对象信息以及动态调用对象,本文介绍如何获取对象中的函数注释信息以及参数信息。定义一个Person类:classPerson():deftalk(self,name,age,height=None):"""talkfunction:return:"""print(f"Mynamei......
  • h5 - pc 使用 pdf.js 预览pdf -配合文件流实现 - 遇到的坑总结
    1.pdf.js下载看我这篇随笔【h5-使用pdf.js预览pdf-岑惜-博客园(cnblogs.com)】2.html调用页面的局部代码<body><divstyle="height:100vh;margin:0auto"><iframestyle="height:100%;width:100%;border:none"id="fvic"src="&......
  • python操作git
    安装模块pip3installgitpython#coding:utf-8importosfromgit.repoimportRepofromgit.repo.funimportis_git_dir#pip3installgitpythonclassGitRepository(object):"""git仓库管理"""def__init__(self,......
  • Python 之生成验证码
    一、代码importrandomfromioimportBytesIOfromPILimportImage,ImageDraw,ImageFont,ImageFilterclassCaptcha:def__init__(self,width,height,code_num=4,code_type=1,font_size=24,is_blur=True,font='Arial.ttf',x_......