我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

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处理文本文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

shell文件处理笔记之插入文本到文件的方法

前言 众所周知,如果在大多数服务器上,不会预先装上 ruby 或者 python 这些语言。这时,你要想操作一些文件,一个合理的选择就是使用 shell。也就是你在 terminal中输入的那些指令。本文给大家想写介绍了关于插入文本到文件的
2022-06-04

python之excel文件(.xls文件)处理方式

这篇文章主要介绍了python之excel文件(.xls文件)处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-19

4.python之文件处理

在python中如果想对硬盘中的一个文件进行操作大概可以分为三步,它的流程如下:使用open函数打开一个文件句柄,并且赋值给一个变量。通过相应的文件句柄对指定的文件进行操作。操作完成后关闭文件,文件关闭后,会将文件内容写入到磁盘中。open
2023-01-31

Python 3 学习笔记:目录&文件处

路径路径,用于定位目录或文件的字符串。相对路径相对路径依赖于当前工作目录(即当前文件所在的目录),可以使用如下函数获取当前工作目录,1os.getcwd()复制在当前工作目录中,可以使用相对路径访问这个目录中的所有子目录和其中的文件,而无需
2023-01-31

python学习笔记2—python文件

python学习笔记2——python文件类型、变量、数值、字符串、元组、列表、字典一、Python文件类型1、源代码python源代码文件以.py为扩展名,由pyton程序解释,不需要编译[root@localhost day01]# v
2023-01-31

笔记本电脑如何批处理系统垃圾文件

这篇文章主要介绍笔记本电脑如何批处理系统垃圾文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、按快捷组合按键调出运行,然后再输入【cleanmgr.exe】再上点击【确定】。2、此时会出现一个磁盘清理,验动器的选
2023-06-28

python cvs文件处理脚本 pyt

最近有一个需求,需要讲csv文件通过http接口post方法导入到数据库,于是写了一个脚本,主要字符编码这一块踩了不少坑,最后终于完成了,可适用windows 和linux 。    具体功能,cvs列没有顺序要求。直接贴下脚本!#!/us
2023-01-31

python 文件处理

python经常会操作文件,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是 请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数
2023-01-31

Python文件处理

本文给大家介绍Python文件处理相关知识,具体内容如下所示: 1.文件的常见操作文件是日常编程中常用的操作,通常用于存储数据或应用系统的参数。python提供了os、os.path、shutil等模块处理文件,其中包括最常用的打开文件,读
2022-06-04

assign之python文本处理

需求:code:import osimport timeimport numpy as npdef to_log_txt(filename): if not os.path.exists('Out_file'): os.
2023-01-31

python学习笔记(十)、文件操作

在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件  要打开文件,可以使用fileinput中的fileinput.input函数进行打开,也可以使用模块 io 中的op
2023-01-31

NodeJS学习笔记之FS文件模块

一,开篇分析 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用 require("fs") 来获取该模块。文件系统模块中的所有方法均有异步和同步版本。 (1),文件系统模块中的异步方法需要一个完成时的回调
2022-06-04

python学习笔记(一)-文件操作

python的基本文件操作是包含在__buildin__模块中的。  I, 基本操作1, 打开fh=open('filename', 'r')  fh是打开文件的handle,每一个被打开的文件都应该退出时关闭(除了handle没有赋给变量
2023-01-31

python文件处理--文件读写详解

目录1.读取文件2.写入文件总结1. 读取文件 文件读取很简单,就三步。第一:在Windows的记事本中直接输入“愿你出走半生归来仍是少年!”第二:通过代码读取文件 步骤: 1.使用open()函数打开文件。myfile = open(r'
2022-06-02

Python替换文件内容(文件处理)

#需求用Python来替换掉文件里面的内容#脚本内容如下#!/usr/bin/env python#_*_ coding:utf-8 _*_import sys,os#小于四个位置变量则退出脚本if len(sys.argv) <4:   
2023-01-31

C#中怎么处理文本文件

这期内容当中小编将会给大家带来有关C#中怎么处理文本文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#处理文本文件C#处理文本文件是一种常用的文件格式,所以如何处理文本文件也就成为编程的一个重点。本文
2023-06-18

C#处理文本文件的方法

本篇内容主要讲解“C#处理文本文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#处理文本文件的方法”吧!用C#处理文本文件的完整源程序代码(control.cs),现在就可以方便的得到
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录