python文件處理練習
阿新 • • 發佈:2017-12-19
tail cp seek1、模擬cp命令拷貝文件(圖片,視頻)到其他路徑下
with open('a.txt','rb') as f,open('b.txt','wb') as write: #選擇rb模式,支持所有的拷貝,對應的寫模式就是wb,直接處理的是bytes類型 for line in f: #遍歷源文件的每一行 write.write(line) #寫入新文件write中
但是這樣的沒有支持用戶自己傳參數,所以最後的代碼如下:
import sys if len(sys.argv)<3: #用戶輸入參數少於3個 print('python3 copy.py source.file target.file ') #提示用戶命令的用法需要3個參數 sys.exit() with open(r'%s' %sys.argv[1],'rb') as f,open(r'%s' %sys.argv[2],'wb') as write: #這裏處理的文件是基於用戶輸入的參數取到的 for line in f: write.write(line)
2、python模擬tail命令, 顯示日誌文件內容,不退出
python3 tail.py import sys import time with open(r'%s' %sys.argv[2],'rb') as read: read.seek(0,2) #2模式以末尾為參照,前面的0表示最後一個字節,保證光標直接在文件尾部 while True: line=read.readline() if line: #如果行有內容 print(line.decode('utf-8'),end='') #默認是字節碼,轉換為字符,end等於空表示換行符不單獨打一行 else: time.sleep(0.2) #休息0.2秒以後再接著做判斷
python文件處理練習