天天看點

檔案操作練習

目錄

​​一、題目描述​​

​​二、解析​​

​​1、擷取檔案的内容​​

​​2、資訊比對​​

​​3、寫入檔案​​

​​三、源碼​​

一、題目描述

         開房查詢

                建立函數,傳入一個名字,查找到這哥們所有的開房記錄,然後寫入到以這哥們名字為名的txt檔案中 如:張三.txt

二、解析

1、擷取檔案的内容

        先用上下文管理器打開檔案,然後再從對象中讀取資訊,readlines()是一行一行的讀取資料,每一行作為一個字元串存儲在清單中

with open('kaifanglist.txt','r',encoding='utf-8',newline='') as fp:
        # print(date)
        date = fp.readlines()      

2、資訊比對

3、寫入檔案

三、源碼

# -*- coding: utf-8 -*-
import json

def search(name):
    s = []
    with open('kaifanglist.txt','r',encoding='utf-8',newline='') as fp:
        date = fp.readlines()
        # print(date)
        for i in range(len(date)):  # eval()可以識别字元串,然後将字元串轉化成元組存儲起來,然後可以繼續對元組操作,将其轉化為清單,友善取值以及操作
            print(date[i].split(','))
    for j in range(len(s)):
        if name == s[j][0]:
            with open(f'{name}.txt','a',encoding='utf-8') as file:
                t = json.dumps(s[j])
                file.writelines(t)


if __name__ == '__main__':
    search('孫旸')






      
def test(name):
    with open('kaifanglist.txt', 'r',encoding="utf-8") as f,open(f'{name}.txt','w',encoding='utf-8') as f1:

        l1 = f.readlines()
        for i in l1:
            if i.startswith(f'{name},'):
                f1.write(i)


test('徐争鳴')