51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2463|回复: 0
打印 上一主题 下一主题

1.15 文件的基本操作

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2017-12-15 14:06:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    衍伸阅读:

    一 对文件操作流程
    • 打开文件,得到文件句柄并赋值给一个变量
    • 通过句柄对文件进行操作
    • 关闭文件
    模式mode
    含义
    说明
    r
    只读(不可写)
    如果未指定mode,则默认为此’r’模式
    w
    只写
    如果用’w’,会把原先已存在的文件中的内容擦除(清除/冲)掉
    a
    附加/追加
    写数据时,会自动添加到(已存)文件的末尾
    r+
    即可以读,也可以写


    二 对文件的常用操作
    准备工作:
    1)在python源代码当前目录创建一个新的txt文件,命名为juzi.txt。内容如下:(注意:第3行有个空行)

    1.a heart that loves is always young.
    有爱的心永远年轻。

    2.brief is life, but love is long.
    生命虽短,爱却绵长。
    3.every day without you is like a book without pages.
    没有你的日子就像一本没有书页的书.



    2.1)打开和读取文件的全部内容(open和read)

    代码:
    1. f = open('y:\python code demo\juzi.txt')  #可以带绝对路径,也可以不写路径,会自动找系统路径。
    2. print(f.read())   # 读取文件的全部内容
    复制代码
    输出:

    1. 1.a heart that loves is always young.
    2. 有爱的心永远年轻。

    3. 2.brief is life, but love is long.
    4. 生命虽短,爱却绵长。
    5. 3.every day without you is like a book without pages.
    6. 没有你的日子就像一本没有书页的书.
    复制代码
    在本例中,我们尝试对文件读两遍,会出现什么情况呢?代码:
    1. f = open('y:\python code demo\juzi.txt')  #可以带绝对路径,也可以不写路径,会自动找系统路径。
    2. data=f.read()
    3. data2=f.read()
    4. print("data is:",data)
    5. print("data2 is:",data2)
    复制代码
    输出:

    1. data is: 1.a heart that loves is always young.
    2. 有爱的心永远年轻。

    3. 2.brief is life, but love is long.
    4. 生命虽短,爱却绵长。
    5. 3.every day without you is like a book without pages.
    6. 没有你的日子就像一本没有书页的书。
    7. data2 is:
    复制代码
    可以看到,data变量输出正常,读取了整个文件内容。但data2输出为空。为什么呢?因为read操作时从文件头读到文件尾部,文件读一遍就读完了。
    如果再执行read操作相当于就从文件尾部开始读了。自己就为空了。那怎样才能实现read两遍文件的操作呢?

    (不用close文件再打开,那是笨办法)只需要想办法让文件的指针从尾部重新回到头部就可以了。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 18:47 , Processed in 0.095719 second(s), 33 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表