Python-文件操作

Python-文件操作

一、简介

什么是文件?

      内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U盘等设备。为了便于数据的管理和检阅,引入了“文件”的概念。

      一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别。

文件操作步骤:

        打开文件(open)------>读写文件(read)------>关闭文件(close)。

二、读写文件

2.1、打开文件

      在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。

语法:open(name,mode,encoding);

    1、name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。

    2、mode:设置打开文件的模式(访问模式):只读(r)、写入(w)、追加(a)等。

    3、encoding:编码格式(推荐使用UTF-8)。

注意:#encoding的顺序不是第三位,所以不能用位置参数,用关键字参数直接指定。UTF-8是目前全球通用的编码格式。

实例:

#打开文件file_01=open("C:\\Users\\yyalin\\Desktop\\test01.txt",             "r",             encoding="UTF-8")

注意事项:

      此时的file_01是open函数的文件对象,对象是Python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性对象.方法对其进行访问。

2.2、读取文件

2.2.1、使用read方式

语法:文件对象.read(num)

    num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。

参考案例:

#打开文件file_01=open("C:\\Users\\yyalin\\Desktop\\test01.txt","r",encoding="UTF-8")#1、read()方式#读取全部内容file_content=file_01.read();# 指定长度的内容# file_content=file_01.read(10);print(f"read读取的文件内容是:{file_content}")

2.2.2、使用readlines或readline方式

语法:文件对象.readlines() 或 文件对象.readline()

      readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表(包含所有行内容的列表),其中每一行的数据为一个元素。而readline是读取一行

参考案例:

#2、readlines方式 读取文件的全部行数据file_01=open("C:\\Users\\yyalin\\Desktop\\test01.txt","r",encoding="UTF-8")lines=file_01.readlines();#readlines方式读取的lines类型是:<class 'list'>print(f"readlines方式读取的lines类型是:{type(lines)},文件内容是:{lines}")#使用for循环读取for line in lines:    print(f"读取的文件内容:{line}")#关闭读取文件file_01.close()#3、使用readline读取每一行内容line=file_01.readline();##读取的文件内容:13、相关的技术

2.2.3、使用for循环方式

语法:for line in file_01:

      #每一个line临时变量,就记录了文件的一行数据。

参考案例:

#4、使用for循环读取文件行file_01=open("C:\\Users\\yyalin\\Desktop\\test01.txt","r",encoding="UTF-8")for line in file_01:    print(f"for方式读取的line类型是:{type(line)},文件内容是:{line}")# #关闭读取文件file_01.close()

2.2.4、使用with open的方式

语法:with open("python.txt","r") as file:

                               file.readlines()

    #通过在with open的语句块中对文件进行操作;

    #可以在操作完成后自动关闭close文件,避免遗忘掉close方法。

参考案例:

#5、使用with open的方式读取文件with open("C:\\Users\\yyalin\\Desktop\\test01.txt","r",encoding="UTF-8") as file:    print(f"with open方式读取的line类型是:{type(file)},文件内容是:{file}")    for line in file:        print(f"for方式读取的line类型是:{type(line)},文件内容是:{line}")

2.3、关闭文件

语法:file.close();

    #最后通过close,关闭文件对象,也就是关闭对文件的占用;

    #如果不调用close,同时程序没有停止运行,那么这个文件将一直被Python程序占用。

    #使用with open的方式可以自动关闭文件,不需要处理。

三、写入文件

注意:

    1、直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区;

    2、当调用flush/close的时候,内容会真正写入文件;

    3、这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)。

#####写入文件##方法:通过write的方式 将w改成a即为追加模式#打开文件file_02=open("D:\\test01.txt","w",encoding="UTF-8")#写入内容 \n代表换行file_02.write("hello word!!!\nhello python!!")#刷新内容# file_02.flush()#关闭文件 自带flushfile_02.close()

    w模式:文件存在会先清空里面的内容,然后添加;

    a模式:文件存在会追加的方式添加新内容。

四、小练习

####小练习#######1、打开文件file_01=open("C:\\Users\\yyalin\\Desktop\\test01.txt","r",encoding="UTF-8")#2、读取文件num=0#1、通过split切分的方式# for line in file_01:#     print(f"for方式读取的line类型是:{type(line)},文件内容是:{line}")#     content=line.strip();   #去除前后空格和换行符#     for str_01 in content.split(" "):#         print(f"str_01的内容是:{str_01}")#         if str_01 == "itheima":#             num+=1# print(f"itheima在文件中一共出现:{num}次数")
#2、通过count统计的方式for line in file_01:    print(f"for方式读取的line类型是:{type(line)},文件内容是:{line}")    num=num+line.count("spark")print(f"itheima在文件中一共出现:{num}次数")#3、关闭读取文件file_01.close()

更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值