練習一
寫乙個程式在要保持檔案內容的順序不變的前提下,去除檔案中重複的行。
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...