首页 > 编程语言 >Python入门 - 字符文件读写

Python入门 - 字符文件读写

时间:2023-07-24 22:34:08浏览次数:39  
标签:f1 入门 Python text 读写 print New Folder txt

常用操作

字符文件本质上还是用二进制方式写出,只是他多了一步查找字符的二进制值的过程。比如:9用二进制写出就是0b1001,utf-8的'9‘写出就是要先在utf-8码表中找'9'对应的二进制0b111001,然后再写出。 

 

if not os.path.exists("New Folder"):
    os.mkdir("New Folder")

f1 = open("New Folder/text.txt", "w", encoding="utf-8")
print(f1.name)  # New Folder/text.txt
print(f1.closed)  # False
print(f1.mode)  # w
print(f1.readable())  # False
print(f1.writable())  # True
print(f1.seekable())  # True
f1.write("abc中文ABC\ndef文本DEF")
f1.close()

 

f1 = open("New Folder/text.txt", "r", encoding="utf-8") # win10下, 默认GBK, 不指定编码, 读的时候会抛异常
print(f1.name)  # New Folder/text.txt
print(f1.closed)  # False
print(f1.mode)  # r
print(f1.readable())  # True
print(f1.writable())  # False
print(f1.seekable())  # True
print(f1.tell())  # 0

# 读字符
print(f1.read(3))  # abc
print(f1.read(1))  # 中

# 读到换行符为止
print(f1.readline())  # 文ABC\n

print(f1.seek(0, 0))  # 0, 游标移到文件开头
print(f1.read())  # 全部都读出来

f1.close()

 

自动close方式的打开文件 

with open("New Folder/text.txt", "r", encoding="utf-8") as f1:
    # do something ...
    # f1.close()  # 不再需要我们手动调用close

 

读游标操作

with open("New Folder/text.txt", "r", encoding="utf-8") as f1:
    # 刚打开文件时的读取位置
    print(f1.tell())  # 0

    f1.read(3)
    # 读取3个字符后的位置
    print(f1.tell())  # 3

    f1.read(1)
    # 读取一个中文字符后的读取位置
    print(f1.tell())  # 6

    # 读位置游标移到文件开头
    print(f1.seek(0, 0))  # 0
    print(f1.tell())  # 0

    print(f1.seek(0, 2))  # 26
    print(f1.tell())  # 26

 

标签:f1,入门,Python,text,读写,print,New,Folder,txt
From: https://www.cnblogs.com/sailJs/p/17571276.html

相关文章

  • springcloudalibaba 从入门到精通进阶学习路线?深入细化讲解
    springcloudalibaba从入门到精通进阶学习路线?深入细化讲解下面是深入细化的SpringCloudAlibaba学习路线:1.学习SpringBoot和SpringCloud基础知识:在开始学习SpringCloudAlibaba之前,你需要先掌握SpringBoot和SpringCloud的基础知识。学习SpringBoot的核心概念、注解、配......
  • redis数据库框架 从入门到精通进阶学习路线?深入细化讲解
    redis数据库框架从入门到精通进阶学习路线?深入细化讲解Redis是一个高性能的开源键值对数据库,具备丰富的功能和灵活的应用场景。以下是一个更加深入细化讲解的Redis学习路线,从入门到精通的进阶学习:1.入门篇:-学习Redis的基本概念和特点,了解其与传统关系型数据库的区别-安装和......
  • Rxjs 入门
    RxJS(ReactiveExtensionsforJavaScript)是一个用于处理异步数据流和事件流的库。它是基于观察者模式和迭代器模式的一种实现,可以帮助开发者更方便地处理复杂的异步操作。RxJS的核心概念是Observable(可观察对象)。Observable代表一个可观察的数据源,它可以发出多个值,并在完成或出错......
  • python jsonpickle模块不序列化私有变量
    jsonpickle模块可以把对象序列化为JSON文件,还是比较方便的.但是并不是所有变量都需要序列化的,比如有些私有变量就不需要序列化,下面是实现方法:importjsonpickleclassNoSerailPrivates:'''表示不序列化私有变量,以_开头都变量'''def__getstate__(self):......
  • jQuery快速入门
    我们最好称之为是jQuery库更好一些,不要称之为是框架#库就类似于是Python中的模块,简称为jq#jQuery就是js、css等的封装版本,只要一封装,写法肯定会简单jQuery介绍jQuery是一个轻量级的、兼容多浏览器的JavaScript库。#他就是一个封装好的js文件,几十KB大小#前端的最大问题就......
  • 饮冰三年-人工智能-Django淘宝拾遗-85-常用的Python格式化工具
       Python代码格式化对于团队协作、代码质量、错误预防以及与Python社区的契合都具有重要意义。好的代码格式化不仅是一种编码规范,更是一种良好的编码习惯,有助于提高整个项目的质量和可维护性。   在团队中,可能有不同的编码规范和自定义的格式化规则。尽管有一些格式......
  • CentOS升级Python到2.7版本
    查看python的版本viewsource1 python-VPython2.4.31.先安装GCCviewsource1 yum-yinstallgcc2.下载Python-2.7.2viewsource1 wgethttp://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz23.解压Python-2.7.2viewsource1 tar-jxvfPython-2.7.2.tar.bz24.进......
  • 基于Python实现种差值方法
    完整资料进入【数字空间】查看——baidu搜索"writebug"一、种差值方法的实现与问题三种插值方法都是使用Python自己实现的。1.1最近邻插值寻找每个中心点周围的八个点中有无未丢失的点,如果有的话就赋值为第一个找到的点,如果没有就扩大范围再次寻找,在最大范围内都找不到的话就跳过......
  • python虚拟环境的安装
    ​1.虚拟环境有多种-Virtualenv第三方,使用比较多-pipenv官方的2.需要安装的两个模块pip3installvirtualenv第三方虚拟环境pip3installvirtualenvwrapper-win 增加模块,在win上让虚拟环境更好用3.配置虚拟环境控制面板=>系统和安全=>系统=>高级系统设......
  • Python学习笔记:递归、闭包以及装饰器
    一、首先,什么是递归?首先,简单来说递归就是在运行的过程中不断调用自身,从而完成“递”和“归”两个过程。在Python当中递归函数也是这个道理,通过直接或者间接调用函数本身就叫递归函数。注:在Python中编写递归函数一定要有结束条件否则会导致内存溢出。1、Python案例:​ 首先......