python學習筆記番外 linux檔案拷貝程式

2022-06-15 05:03:22 字數 1237 閱讀 3748

import os

import shutil

import sys

def copydir(orignaldir, destdir):

if not os.path.exists(destdir):

os.mkdir(destdir)

# 獲取原目錄下的檔案和目錄,進行複製

orignaldirlist = os.listdir(orignaldir)

if len(orignaldirlist) > 0:

for orignalsubdirname in orignaldirlist:

orignalsubdir = orignaldir+"/"+orignalsubdirname

if os.path.isdir(orignalsubdir):

copydir(orignalsubdir, destdir+"/"+orignalsubdirname)

else:

# 檔案直接複製

copyfile(orignalsubdir, destdir+"/"+orignalsubdirname)

def copyfile(orignalfile, destfile):

if not os.path.exists(destfile):

sys.stdout.write("開始複製檔案"+orignalfile+"到"+destfile+"\r\n")

#如果遇到檔案輸出error,跳過

try:

shutil.copy(orignalfile, destfile)

except:

sys.stdout.write("檔案"+destfile+"複製出錯,跳過\r\n")

else:

sys.stdout.write("已跳過檔案"+orignalfile+"\r\n")

orignaldir = "/home/pi/newmandisk/haokan"

copydir(orignaldir, destdir)

sys.stdout.write("複製完畢\r\n")

程式本身很簡單,無非就是讀取當前目錄下的檔案和子目錄,檔案的話直接拷貝,子目錄的話就遞迴呼叫。

拷貝過程中遇到input/output error報錯,所以有了try/catch,但是對錯誤處理的相當草率,更合理的方式是將錯誤輸出到乙個檔案中記錄,因為這裡是聯手性質的一次性程式,所以沒有做改進。

Linux學習之路(番外 對資料加密)

整型數 陣列 加密 陣列 整型數 整型數 陣列 解密 陣列 整型數 include 整型 陣列 int int to array int num,int array return len 加密 int jiami int array int len if len 1 int tmp int i 0 ...

Linux學習之路(番外 貪吃蛇)

include include include include include include include include include include include define keycode u 0x41 向上按鍵 define keycode d 0x42 向下按鍵 define k...

HTML5學習總結 番外05 移動終端適配

在使用移動端裝置瀏覽網頁時,移動端瀏覽器是直接把整個頁面放到乙個虛擬的檢視裡來顯示的,通常來說這個虛擬的檢視大小會比手機螢幕大,使用者可以通過手勢操作來平移 縮放這個檢視。如果不加view標籤,那麼輸入以下 檢視頁面,會發現頁面是可以縮放的。1 禁用viewport縮放功能 在頁面頭部加上如下語句來...