python3檔案處理練習題

2021-10-02 22:55:49 字數 2119 閱讀 9752

練習一

寫乙個程式在要保持檔案內容的順序不變的前提下,去除檔案中重複的行。

import os

with open('db.txt', 'r', encoding='utf-8') as read_f, \

open('db.txt.swap', 'w', encoding='utf-8') as write_f:

s = set()

for line in read_f:

if line not in s:

s.add(line)

write_f.write(line)

os.remove('db.txt')

os.rename('db.txt.swap', 'db.txt')

練習二

python(或者python3) python檔案路徑 原始檔路徑 目標檔案路徑

比如:

list1 = sys.ar** # 把命令列中直譯器後空格分割的所有引數都存成列表

# print(list1)

src_file_path = list1[1]

dst_file_path = list1[2]

# print(src_file_path)

# print(dst_file_path)

with open(r'%s' % src_file_path, mode='rb') as src_f, \

open(r'%s' % dst_file_path, mode='wb') as dst_f:

for line in src_f:

dst_f.write(line)練習三

寫乙個修改檔案的程式,要求是原來的內容不能被覆蓋,修改之後字元之間的空格不能變化(4個空格)

原始檔內容如下:

馬一特    18    male

劉德華    50    male

林志玲    20    female

修改後的檔案:

馬一特[albert]    18    male

劉德華    50    male

林志玲    20    female

# 修改檔案方式一:

# 1、先把檔案內容全部讀入記憶體

# 2、然後在記憶體中完成修改

# 3、再把修改後的結果覆蓋寫入原檔案

# 缺點:會在檔案內容過大的情況下,占用過多的記憶體

with open('user.txt', mode='r', encoding='utf-8') as f:

data = f.read()

data = data.replace('馬一特', '馬一特[albert]')

with open('user.txt', mode='w', encoding='utf-8') as f:

f.write(data)

# 修改檔案方式二:

# 以讀的方式開啟原檔案,以寫的方式開啟乙個新檔案,一行一行的讀入檔案內容

import os

with open('user.txt', mode='rt', encoding='utf-8') as read_f, \

open('user.txt.swap', mode='wt', encoding='utf-8') as write_f:

for line in read_f:

if '馬一特' in line:

line = line.replace('馬一特', '馬一特[albert]')

write_f.write(line)

os.remove('user.txt')

os.rename('user.txt.swap', 'user.txt')

python3 檔案處理

python open 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。注意 使用 open 方法一定要保證關閉檔案物件,即呼叫 close 方法。open 函式常用形式是接收兩個引數 檔名 file 和模式 mode o...

Python3 檔案處理

目錄檔案的兩種形式 檔案路徑 with open開啟檔案 可讀可寫模式 補充 控制游標 開啟檔案 f open r 檔案路徑 w encoding 字元編碼 讀取 修改檔案 f.write 寫入 儲存檔案 f.flush 快速儲存 關閉檔案 f.close 告訴作業系統關閉檔案 f open r c...

Python3道基礎練習題

練習 輸入乙個整數n,判斷這個整數是否是素數 prime 素數是指只能被1 和自身整除的數 如 2 3 5 7 11.方法 用排除法.一但n能被2 n 1的數整除就不是素 數,否則就一定是素數 n int input 請輸入乙個整數 if n 2 print n,不是素數 exit 方法 1 fla...