Python 文件操作(八)

(一)文件操作

1.什么是文件?
如图所示:
这里写图片描述


2.文件的作用:保存数据,可以让程序下一次执行的时候直接使用。

(二)文件的读写

1.读取文件的三步骤:打开文件、读取文件、(关闭文件可以不写)。

2.文件的访问模式:
这里写图片描述

3.读取整个文件

with open('D:\\test.txt')as file:
    #1.一次读取文件所有内容
    # contents=file.read()
    #2.读取文件的一行
    # contents = file.readline()
    #3.读取文件所有行
    contents = file.readlines()
    for line in contents:
        print(line)

注:文件无须手动关闭,Python自会在适合的时间关闭。
结果演示:
朝辞白帝彩云间,千里江陵一日还。
两岸猿声啼不住,轻舟已过万重山。

4.统计此诗中逗号的数量

#1.统计逗号个数
with open('D:\\test.txt')as file:
    #2.一次读取文件所有内容
    contents=file.read()
    words=[]
    for word in contents:
        words.append(word)
    print(words)
    print(words.count(','))
结果演示:逗号总数量==2

5.文件复制

#1.复制文件
with open("D:\\aim.txt",'a')as aimFile:
  with open('D:\\test.txt')as file:
    #2.一次读取文件所有内容
    contents=file.read()
    aimFile.write(contents)
    print("成功复制!")

(三)文件的定位读写

1.获取当前读写的位置

 with open("D:\\test.txt","r")as file:
    str=file.read(2)
    print("读取的数据是:",str)

    position=file.tell()
    print("文件的当前位置:",position)
结果演示:
朝辞白帝彩云间,千里江陵一日还。
两岸猿声啼不住,轻舟已过万重山。

读取的数据是: 朝辞
文件的当前位置: 4

2.定位到某个位置

  • 如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()。
    seek(offset, from)有2个参数
    offset:偏移量
    from:方向
    0:表示文件开头
    1:表示当前位置
    2:表示文件末尾

3.定位到某个位置

with open("D:\\test.txt","r")as file:
    str=file.read(2)
    print("读取的数据是:",str)
    position=file.tell()
    print("文件的当前位置:",position)

    #重新设置当前位置
    file.seek(5.0)
    position = file.tell()
    print("文件的当前位置:", position)
结果演示:
读取的数据是: 朝辞
文件的当前位置: 4
文件的当前位置: 5

(四)文件的重命名、删除

1.有些时候,需要对文件进行重命名、删除等一些操作,python的os模块提供此功能。

2.文件重命名,os模块中的rename()可以完成对文件的重命名操作,rename(需要修改的文件名, 新的文件名)
实例演示:


    import os

    os.rename("D:\\三味书屋.txt", "D:三国演义.txt")

3.删除文件,os模块中的remove()可以完成对文件的删除操作,remove(待删除的文件名)。
实例演示:

  import os

  os.remove("D:\\三国演义.txt")

(五)文件夹的相关操作

说明:实际开发中,有时需要用程序的方式对文件夹进行一定的操作,比如创建、删除等,就像对文件操作需要os模块一样,如果要操作文件夹,同样需要os模块。

1.创建文件夹

  import os

  os.mkdir("D:\\test.txt")

2.获取当前目录

 import os

 os.getcwd()

3.改变默认目录

import os

os.chdir("../")

4.获取目录列表


 import os

 os.listdir("./")

5.删除文件夹

 import os

 os.rmdir("D:\\test.txt")

(六).替换文本字符串

他正乘上小船,刚要解缆出发,忽听岸上传来,悠扬踏歌之声。
看那桃花潭水,纵然深有千尺,怎能及汪伦送他之情。

1.将文本中的“他”字符串替换成“我”

#1.参数:file路径
#2.参数:old_str旧字符
#3.参数:new_str新字符
def alter(file,old_str,new_str):
   #4.定义一个变量存储字符串
  file_data = ''
  with open(file ,'r')as f:
    for line in f:
        if old_str in line:
            #5.使用replace()方法替换字符串
            line=line.replace(old_str,new_str)
            file_data+=line
            with open(file, 'w')as f:
                f.write(file_data)

alter('test.txt','他','我 ')
print("成功修改!")
结果演示:
我正乘上小船,刚要解缆出发,忽听岸上传来,悠扬踏歌之声。
看那桃花潭水,纵然深有千尺,怎能及汪伦送我之情。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值