广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python文件处理笔记之文本文件
  • 829
分享到

python文件处理笔记之文本文件

2024-04-02 19:04:59 829人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 建立文件1.1 文本文件代码实现1.2 代码编写分析2. 基本的读写文件2.1 用文件对象write(s)方法写内容2.2 用文件对象read()方法读取内容2.3 连续用

文本文件具备初步存放、编辑各类数据的能力,并可以持久保留和数据共享。

1. 建立文件

  建立文本文件有两种途径:一是通过windows的“记事本”工具创建一个扩展名为“.txt”的文件,然后供程序调用。二是通过程序自动建立新文件。

1.1 文本文件代码实现


newfile = "g:\\t1.txt"   #定义需要建立的文本名称和路径
b_new_file = open(newfile,"w")     #用open函数建立一个新的文本文件
b_new_file.close()     #关闭文件
print("%s成功建立!"%newfile)

效果:

1.2 代码编写分析

文本文件的名称

(1)文本名称,命名要符合命名内容,一般情况下以英文字母、数字、汉字开头的易于阅读的字符串组合。不能使用星号(*)等特殊符号开头的命名。

(2)文本名称是一个字符串,命名过程中需要考虑到转义符号对路径或名称的影响。如:“g:\t1.txt”中的“\t”本身就是一个横向制表符,如果用“g:\t1.txt”就会出错。另一种解决字符串转义符的方法是在字符串前加原始字符串限制符号(原生字符r或R)可以原样输出r“g:\t1.txt”。

(3)指定路径必须设置(在不同的解释器中,对于路径的设置有区别)

用open函数建立(打开)文件

open函数属于系统内置函数,支持对字符串或二进制文件的打开操作,返回可操作的文件对象。

使用格式:

open(file,mode=“w”)

  file参数用于指定需要操作的文件名(可以同时只当文件路径);mode参数用于指定需要操作的方式。

  r、w、x、a为打开文件的基本模式,对应这只读、只写、新建、追加四种打开方式;b、t、+、U与基本模式组合使用,对应二进制、文本、读写、通用换行符四种模式。

  mode默认值为“rt”模式,意味着对文本文件进行读操作。目前,mode值常见可以组合的方式为“rb"、”wb“、”xb“、”ab“、”rt“、”wt“、”xt“、”at“、”r+“、”w+“、”x+“、”a+“。

用b_new_file.close()方法把新建立的文件关闭

  如果不关闭新建立的文本文件,则打开的文件对象一直留存在内存中,如果打开的文件多了,容易出现内存溢出等错误。

2. 基本的读写文件

  打开文本文件后,可以对文件进行基本的读写操作。

2.1 用文件对象write(s)方法写内容

  f.write(s),f代表可写方式打开文件对象;s为将要写入文件的内容,write()方法把s内容写入文件f后,返回写入的字节数。


newfile = "g:\\t1.txt"   #定义需要建立的文本名称和路径
b_new_file = open(newfile,"w")     #用open函数建立一个新的文本文件
t_n = b_new_file.write("l like python!")   #用文件对象write()方法写字符串
b_new_file.close()     #关闭文件
print("往文件里写入%d字节内容"%t_n)

效果:

  ”w“模式打开的文本文件,在写入内容时,第二次写入的内容会覆盖第一次保存的内容,若要解决此问题,采用”a“模式打开文件。

2.2 用文件对象read()方法读取内容

  f.read(size),f代表可读方式打开的文件对象;size为可选参数,若指定读取字节数,则读取指定大小字节的内容,若没有指定,则读取尽可能大的内容。


b_new_file = open(newfile,"r")      #以只读方式打开文件
tt = b_new_file.read()           #用文件对象read()方法读取内容
print(tt)
b_new_file.close()

效果:

2.3 连续用read()方法、write()方法操作文件


b_new_file = open(newfile,"r+")     #用open函数建立一个新的文本文件
tt = b_new_file.read()           #用文件对象read()方法读取内容
print(tt)
t_n = b_new_file.write("\n三酷猫!^_^")     #继续往文件里写入新内容
b_new_file.close()
print("往文件里写入%d字节内容"%t_n)

效果:

注意:不鼓励连续读写操作方法,因为存在读写数据不确定性问题

3. 复杂的读写文件

  在基础的读写存在上,可以考虑多行读写的操作。

1、一次写入多行


nums = ["one","two","three","four","five","six","seven"]
t = open(r"g:\t2.txt","a")    #追加打开文件
for get_one in nums:
    t.write(get_one+"\n")     #将每个元素循环写入文件,行末加\n
t.close()
print("连续写入完成")

效果:

2、一次读一行

  f.readline(s),f代表以可读模式打开的文件;s为可选参数,若设置指定大小的字节,则返回相应大小的字符串,若没有设定,则以行单位返回字符串。


t1 = open(r"g:/t2.txt","r")
dd = 1
while dd:
    dd = t1.readline()    #一次读一行
    print(dd.strip())      #strip()去除字符串两端的空字符

效果:

3、以列表格式读取多行


t1 = open(r"g:/t2.txt","r")
t_s = t1.readlines()            #以列表格式读取多行
print(t_s)

效果:

4、连续读特定字节数量的内容


f = open(r"g:/t2.txt","r")
print(f.readline(2))         #读取文件头2个字节
print(f.readline())          #继续读取同一行,剩余字节
print(f.read(4))             #继续读取4个字节
print(f.read(4))

效果:

5、在指定位置读内容

5.1 f.tell(),f代表打开的文件,tell()方法返回当前文件可以写入读写的位置(字节数)


f = open(r"g:/t2.txt","r")
print(f.readline(2))         #读取文件头2个字节
print(f.readline())          #继续读取同一行,剩余字节
print(f.read(4))             #继续读取4个字节
print(f.read(4))
print(f.tell())    #获取执行上述操作后的当前位置
print(f.read(1))
print(f.tell())

效果:

  5.2 f.seek(offset[,whence])

  f代表以打开的文件,seek()方法重新指定将要读写的当前位置。offset参数设置位置的偏移量的字节数,whence参数可选,确定文件起计位置,默认值为SEEK_SET(或0),代表从文件大的开始位置+偏移量来确定当前位置;SEEK_SET(或1),代表当前位置起计;SEEK_END(或2),代表从文件的结尾起计。


print(f.seek(17))
print(f.read(4))

效果:

在指定位置写内容


f3 = open(r"g:/t2.txt","w")
print(f3.seek(17))
f3.write('---')
f3.close()

效果:

4. 文件异常处理


f_n = r"g:\t3.txt"
flag = False
try:                    #异常捕捉开始
    f = open(f_n,"r")   #打开t3.txt文件
    print(f.read())
    flag=True
except:                 #捕捉异常
    print("打开%s文件出错,请检查!"%f_n)      #出错提示
finally:                #是否出错,都强制执行下列代码
    if flag:            #如果文件打开顺利
        f.close()       #则关闭文件
        print("文件做关闭处理!")
    else:               #文件打开出现异常
        print("程序关闭")

效果:

5. 文件与路径

5.1 与路径相关的操作 获取程序运行的当前路径

os.path.abspath§,abspath()以字符串形式为返回平台归一化的绝对路径,p为指定的路径名称(字符型),若p为指定”(.)“,则代表当前路径。


import os
print(os.path.abspath(os.path.curdir))   #返回当前绝对路径

效果:

判断指定路径下是否存在文件


import os
print(os.path.exists(r"g:\\t1.txt"))        #用exists()方法判断文件是否已经存在

效果:

  exists§方法判断指定路径下的文件是否存在。若存在,则返回True,若不存在,则返回False。p为指定的来路径的文件字符串,也可以通过isfile()方法直接判断。

判断指定路径是否存在

isdir§方法判断指定路径是否存在,p为字符串格式的路径,存在返回True,不存在则返回False。


import os
print(os.path.isdir(r"g:\\"))       #用isdir()方法判断路径是否存在

效果:

  exists§方法也可以用来直接判断路径


import os
print(os.path.exists(r"g:\\"))        #用exists()方法直接判断路径

效果:

建立文件夹(子路径)

利用os模块的makedirs§方法可以建立对应的文件夹,p为字符串形式的需要建立的路径,建立不成功,抛出OSError出错信息;建立成功,则在对应的路径下将发现新建立的文件夹。


import os
print(os.makedirs(r"g:\\files"))      #在g盘建立files文件夹

效果:


5.2 动态指定路径下建立新文件


import os
import sys

get_cur_path = os.path.abspath(os.path.curdir)
f_n = get_cur_path+"\\files"   #在当前路径建立子路径files
try:
    if not os.path.isdir(f_n):   #确认路径是否存在
        os.makedirs(f_n)         #不存在,建立子路径
except:                          #建立子路径过程发生异常
    print("子文件夹%s建立出错!"%f_n)   #提示建立出错
    sys.exit()                      #退出程序

f_n = f_n+"\\t3.txt"
flag = False
try:
    f =open(f_n,"w")
    print(f.write("ok"))
    flag=True
    print("文件%s写入正常!"%f_n)
except:
    print("打开%s文件出错,请检查!"%f_n)
finally:
    if flag:
        f.close()
        print("文件做关闭处理!")
    else:
        print("程序关闭")

效果:

总结

到此这篇关于Python文件处理笔记之文本文件的文章就介绍到这了,更多相关python处理文本文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python文件处理笔记之文本文件

本文链接: https://www.lsjlt.com/news/132384.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python文件处理笔记之文本文件
    目录1. 建立文件1.1 文本文件代码实现1.2 代码编写分析2. 基本的读写文件2.1 用文件对象write(s)方法写内容2.2 用文件对象read()方法读取内容2.3 连续用...
    99+
    2022-11-12
  • shell文件处理笔记之插入文本到文件的方法
    前言 众所周知,如果在大多数服务器上,不会预先装上 ruby 或者 python 这些语言。这时,你要想操作一些文件,一个合理的选择就是使用 shell。也就是你在 terminal中输入的那些指令。本文给...
    99+
    2022-06-04
    文件 文本 笔记
  • python之excel文件(.xls文件)处理方式
    目录python excel文件(.xls文件)如何处理xlrdxlwtxlutilspython处理excel文件问题openpyxl 及 excel 文件结构工作表处理行列处理单...
    99+
    2023-05-19
    python excel文件 excel文件处理 .xls文件处理方式
  • 4.python之文件处理
    在python中如果想对硬盘中的一个文件进行操作大概可以分为三步,它的流程如下:使用open函数打开一个文件句柄,并且赋值给一个变量。通过相应的文件句柄对指定的文件进行操作。操作完成后关闭文件,文件关闭后,会将文件内容写入到磁盘中。open...
    99+
    2023-01-31
    文件 python
  • Python 3 学习笔记:目录&文件处
    路径 路径,用于定位目录或文件的字符串。 相对路径 相对路径依赖于当前工作目录(即当前文件所在的目录),可以使用如下函数获取当前工作目录, 1os.getcwd()复制在当前工作目录中,可以使用相对路径访问这个目录中的所有子目录和其中的文件...
    99+
    2023-01-31
    学习笔记 文件 目录
  • python学习笔记——csv文件
    目录 一、csv文件和Excel文件区别 二、手动转换(文本与列表) ①普通的写(列表嵌套转成文本的表格形式) ②普通的读(文本的表格形式转成列表嵌套)  二、csv库-读 1、CSV库-读-reader() 2、CSV库-读-D...
    99+
    2023-10-12
    python 学习 excel
  • python学习笔记2—python文件
    python学习笔记2——python文件类型、变量、数值、字符串、元组、列表、字典一、Python文件类型1、源代码python源代码文件以.py为扩展名,由pyton程序解释,不需要编译[root@localhost day01]# v...
    99+
    2023-01-31
    学习笔记 文件 python
  • 笔记本电脑如何批处理系统垃圾文件
    这篇文章主要介绍笔记本电脑如何批处理系统垃圾文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!按快捷组合按键调出运行,然后再输入【cleanmgr.exe】再上点击【确定】。此时会出现一个磁盘清理,验动器的选择界面,...
    99+
    2023-06-28
  • NodeJS学习笔记之FS文件模块
    一,开篇分析 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用 require("fs") 来获取该模块。文件系统模块中的所有方法均有异步和同步版本。 (1),文件系统模...
    99+
    2022-06-04
    学习笔记 模块 文件
  • assign之python文本处理
    需求: code: import os import time import numpy as np def to_log_txt(filename): if not os.path.exists('Out_file'):...
    99+
    2023-01-31
    文本 assign python
  • Python 文件处理之open()函数
    目录1.文件处理2.Python 文件写入3.创建新文件4.删除文件实例删除文件夹前言: 文件处理是任何 Web 应用程序的重要组成部分。 Python 有几个用于创建、读取、更新和...
    99+
    2022-11-13
  • python学习笔记(十)、文件操作
    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得?   1 打开文件   要打开文件,可以使用fileinput中的fileinput.input函数进行打开,也可以使用模块 io ...
    99+
    2023-01-31
    学习笔记 操作 文件
  • python学习笔记(一)-文件操作
    python的基本文件操作是包含在__buildin__模块中的。   I, 基本操作1, 打开fh=open('filename', 'r')   fh是打开文件的handle,每一个被打开的文件都应该退出时关闭(除了handle没有赋给...
    99+
    2023-01-31
    学习笔记 操作 文件
  • python cvs文件处理脚本 pyt
        最近有一个需求,需要讲csv文件通过http接口post方法导入到数据库,于是写了一个脚本,主要字符编码这一块踩了不少坑,最后终于完成了,可适用windows 和linux 。    具体功能,cvs列没有顺序要求。直接贴下脚本!#...
    99+
    2023-01-31
    脚本 文件 python
  • Python文件处理
    本文给大家介绍Python文件处理相关知识,具体内容如下所示: 1.文件的常见操作 文件是日常编程中常用的操作,通常用于存储数据或应用系统的参数。python提供了os、os.path、shutil等模块...
    99+
    2022-06-04
    文件 Python
  • python 文件处理
    python经常会操作文件,在磁盘上读写文件的功能都是由操作系统提供的, 现代操作系统不允许普通的程序直接操作磁盘,所以, 读写文件就是 请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中...
    99+
    2023-01-31
    文件 python
  • Python替换文件内容(文件处理)
    #需求用Python来替换掉文件里面的内容#脚本内容如下#!/usr/bin/env python #_*_ coding:utf-8 _*_ import sys,os #小于四个位置变量则退出脚本 if len(sys.argv) &...
    99+
    2023-01-31
    文件 内容 Python
  • python文件处理--文件读写详解
    目录1.读取文件2.写入文件总结1. 读取文件 文件读取很简单,就三步。 第一:在Windows的记事本中直接输入“愿你出走半生归来仍是少年!” 第二:通过代码读取文件 步骤: 使用open()函数打开文件...
    99+
    2022-06-02
    python python文件读写
  • C#中怎么处理文本文件
    这期内容当中小编将会给大家带来有关C#中怎么处理文本文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#处理文本文件C#处理文本文件是一种常用的文件格式,所以如何处理文本文件也就成为编程的一个重点。本文...
    99+
    2023-06-18
  • C#处理文本文件的方法
    本篇内容主要讲解“C#处理文本文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#处理文本文件的方法”吧!用C#处理文本文件的完整源程序代码(control.cs),现在就可以方便的得到...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作