06 python 文件基础操作

6.1 .1文件读取操作

'''
演示对文件的读取
'''

# 打开文件
import time

f = open('02_word.txt', 'r', encoding="UTF-8")
print(type(f))

# #读取文件 - read()
# print(f'读取10个字节的结果{f.read(10)}')
# print(f'读取全部字节的结果{f.read()}')

# #读取文件 - readLines()
# lines = f.readlines()  #读取文件的全部行,并封装到列表中
# print(f'lines对象的类型是{type(lines)},{lines}')

# 读取文件 - readLine()
line1 = f.readline()  # 读取文件的一行
print(f'lines对象的类型是{type(line1)},{line1}')

# for循环读取文件每一行
for line in f:
    print(f'每一行数据{line}')

# 文件的关闭
f.close()
# time.sleep(50000)

# with open 方法操作文件
import time

with open('02_word.txt', 'r', encoding="UTF-8") as f:
    for line in f:
        print(f'每一行数据是:{line}')
time.sleep(2)

6.1.2文件读取操作的基本案例

06 python 文件基础操作_第1张图片

'''

itheima itcast python itheima python itcast
beijing shanghai itheima shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima

'''

#方法一
with open('02_word.txt', 'r', encoding="UTF-8") as f:
    count = 0
    for line in f:
        line = line.strip()  #去除开头结尾的空格和换行符
        line1 = line.split(' ')
        for word in line1 :
            if word == 'itheima':
                count += 1
    print(f'itheima 出现了{count}次')

#方法二
with open('02_word.txt', 'r', encoding="UTF-8") as f:
    conent = f.read()
    count = conent.count('itheima')
    print(f'itheima 出现了{count}次')

6.2.1 文件的写入操作

'''
演示函数的写入
'''
#打开文件,不存在的文件 如果文件不存在,则创建文件,写入内容
import time

f = open('03_test.txt','w',encoding='UTF-8')
#write写入
f.write('Hello Python!!!!')

#flush刷新
# f.flush()
f.close()  #close方法,内置了flush功能

#打开已存在的文件   文件存在,则清空原有内容在写入新内容
f = open('03_test.txt','w',encoding='UTF-8')
f.write('黑暗面')
f.close()  #close方法,内置了flush功能

6.3.1 文件的追加写入操作

'''
演示文件的追加写入操作
'''
#打开文件,不存在的文件
with open('04_test.txt','w',encoding='UTF-8') as f:
    #write写入内容
    f.write('python')
with open('04_test.txt','a',encoding='UTF-8') as f:  #如果文件存在,则在a模式下不会清空原有内容,只会在原有内容后加入新内容
    #write写入内容
    f.write('\n学习')

6.4.1 文件的综合操作案例

06 python 文件基础操作_第2张图片

06 python 文件基础操作_第3张图片

'''

name,date,money,type, remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式

'''

#打开文件,准备读取
with open('05_测试.txt', 'r', encoding='UTF-8') as f:
    # 打开文件,准备写入
    with open('05_测试.txt.bak', 'w', encoding='UTF-8') as f_1:
        for line in f:
            #去掉开头结尾空格和转换符
            line = line.strip()
            # #将数据按照‘,’分割开来,并变化为列表形式
            # line = line.split(',')
            # #判断数据结尾是否为  正式
            # if line[-1] == '正式':
            #     #将列表转换为字符串
            #     line = str(line)
            if line.split(',')[-1] == '正式':  #简短写法
                f_1.write(line)
                f_1.write('\n')
            else:
                continue

你可能感兴趣的:(python基础学习,python,开发语言)