自学内容网 自学内容网

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


原文地址:https://blog.csdn.net/FA1CAE/article/details/136962872

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!