文件操作注意点
注意点:
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