Python文件读写操作

文件操作注意点

注意点:

1. for line in file --> 会将偏移量移到末尾

2. buffering=1 --> 缓冲区中遇到换行就刷新,即向磁盘中写入

3. 读操作结束后,文本偏移量就会移动到读操作结束位置

"""
    编写一个程序,循环不停的写入日志(my.log)。
    每2秒写入一行,要求每写入一行都要显示出来。
    结束程序后(强行结束),重新运行要求继续往下写,序号衔接
"""
import time
# log = open("my.log","a+",buffering=1)
# 用with方法可以保证强制结束程序后,关闭文件
with open("my.log","a+",buffering=1) as log:
    while True:
        # 记录行数
        line_count = 1

        # 文件偏移量移动到开头
        log.seek(0)

        # 循环计数,计算行数
        for line in log:
            line_count+=1
    
        #获取当前时间
        date = time.ctime()
    
        # 拼接内容
        content = "%d. %s\n" %(line_count,date)
    
        # 写入缓冲区
        log.write(content)

        # 每隔两秒执行一次
        time.sleep(2)
"""
    目录文件的合并
"""
import os
fw = open("union.txt","w",encoding="utf-8")

for file in os.listdir("abc"):
    with open("abc/"+file,encoding="utf-8") as fr:
        for line in fr:
            fw.write(line)

fw.close()

当前目录,上一级目录的理解

假设我们有以下目录结构:

在union.py文件中,我们要访问union.txt,可以写相对路径:union.txt

                                我们要访问seek.txt,可以写相对路径:abc/seek.txt

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值