Python入門小練習 001 備份檔案

2022-05-27 04:15:07 字數 2427 閱讀 6817

練習適用於linux,類unix系統,一步乙個腳印提高python 。

001.類unix系統中用zip命令將檔案壓縮備份至 /temporary/ 目錄下:

import

osimport

time

old_files = ['

/home/zhg/aa.py

','home/zhg/bb.py']

target_dir = '

/temporary/

'target = target_dir + time.strftime('

%y%m%d%h%m%s

') + '

.zip

'zip_command = "

zip -qr %s %s

" % (target,'

'.join(old_files))

if os.system(zip_command) ==0:

print

"successful backup to

",target_dir

else

:

print

"error backup failed

"

#

linux中上一次命令執行成功會返回0

#' '.join(sequence)方法見: 字串方法

公升級一下:

如果要在 /temporary/ 目錄下自動以當天日期的名稱生成乙個資料夾(if判斷不存在資料夾則執行 mkdir 命令),備份的zip檔案以當時的時間命名怎麼辦?並且要在檔名後面加一段注釋,例如:  /temporary/20150330/123030_add_new_file.zip

import

osimport

time

source_files = ['

/home/zhg/temptest/aa.py

','/home/zhg/temptest/bb.py']

target_dir = '

/temporary/

'today = target_dir + time.strftime('

%y%m%d')

now = time.strftime('

%h%m%s')

ifnot

os.path.exists(today):

os.mkdir(today)

print('s

uccessfully created new directory

'),today

comment = raw_input('

enter a file comment: ')

if len(comment) ==0:

target = today + '

/' + now + '

.zip

'else

: target = today + '

/' + now + '

_' + comment.replace('

','_

')+'

.zip

'zip_command = "

zip -qr %s %s

" % (target,'

'.join(source_files))

if os.system(zip_command) ==0:

print('

successfully created zip file

',target)

else

:

print('s

omthing failed

')

執行結果:

zhg@hang:~/testdir$python backup.py

successfully created new directory /temporary/20150330enter a file comment: add new file

('successfully created zip file', '/temporary/20150330/135040_add_new_file.zip'

)zhg@hang:~/testdir$ls /temporary/20150330/135040_add_new_file.zip

# 

comment.replace(' ','_') 把 add new file 的

空格換成了下劃線

# 關於zip的命令可自行搜尋,當然你也可以用tar命令

Python每天練習 小程式001

題目001 有四個數字 1 2 3 4,能組成多少個互不相同且無重複數字的三位數?各是多少?def one d for i in range 1,5 for j in range 1,5 for k in range 1,5 if i k and i j and j k print 總數量 len ...

python入門 迭代思想小練習

一 原始碼 coding utf 8 author sunbin time 2020 4 14 9 10 email 505255373 qq.com file lx12 money.py 企業發放的獎金根據利潤提成 利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低...

騙你學python的入門小練習(5 3)

勞動最最光榮 今天被程式設計師吊打的小白又來敲 啦 注意!這篇文章適合python小白入門或者加強練習 python大佬,請受小弟一拜 感謝在爬蟲路上的老師們,嚒嘰 獻上題目 檢視答案分割線 第一題太長了就展示部分吧 左邊是輸入,右邊是執行成功的鴨子 第二題左邊是輸入,右邊是成功的鴨子 這樣寫比較好...