文件的基本操作


写入文件的基本操作

f = open('01.txt',mode='a')
f.write("\nhelloworld\n")
import time
def get_time():
    return time.strftime('%Y_%m_%d-%H_%M')

# TODO 创建一个文件,文件名为当前日期,文件后缀名为 .txt, 文件中写入10行内容。
file_name = get_time()
file_name = file_name+'.txt'
f = open(file_name,mode='a')
for i in range(10):
    f.write(f'{i+1}\thelloworld\n')
  • 文件读取
f = open('./2020_08_25-11_58.txt')
# print(f.read())  
# print(f.readline())
# print(f.readline())
print(f.readlines())   # ['1\thelloworld\n', '2\thelloworld\n', '3\thelloworld\n', '4\thelloworld\n', '5\thelloworld\n', '6\thelloworld\n', '7\thelloworld\n', '8\thelloworld\n', '9\thelloworld\n', '10\thelloworld\n']

read() 读取全部文件

readline() 读取一行文本

readlines() 将数据转换为list数据结构

 

文件路径

os.path

  • __file__   全局路径,表示当前文件的绝对路径
print(__file__) #    C:\Users\zengy\PycharmProjects\untitled2\demo.py
  • os.path.dirname()  返回目录路径
import os
print(os.path.dirname(__file__))
print(os.path.dirname(os.path.dirname(__file__)) )
base_dir = os.path.dirname(__file__)
print(base_dir)

输出自己的目录路径

C:\Users\zengy\PycharmProjects\untitled2
C:\Users\zengy\PycharmProjects
C:\Users\zengy\PycharmProjects\untitled2
  • os.path.join()将多个路径拼接在一起
logs_path=os.path.join(base_dir,'logs')
print(logs_path)
  • os.path.exists() 判断路径是否存在
print(os.path.exists(logs_path))  # False
  • os.mkdir() 创建文件夹
if not os.path.exists(logs_path):
    os.mkdir(logs_path)

练习

在项目的根目录下创建一个文件夹 文件夹的名称为logs,在logs中创建一个日志文件

文件名为 当前日期+.log

并在此文件中写入10行内容

import os
import time
# 1 创建目录
log_dir=os.path.join(os.path.dirname(__file__),'../logs')
if not os.path.exists(log_dir):
    os.mkdir(log_dir)

# 2 确定文件路径
filename = time.strftime('%Y_%m_%d-%H_%M_%S')
filepath = os.path.join(log_dir,filename+'.log')
# encoding='utf8' 设置文件编码
f = open(filepath,mode='a',encoding='utf8')
for i in range(10):
    f.write(f'{i+1} \t 凡猫教育\n')
f.close()