Python 初體驗(四)

來源:互聯網
上載者:User

學習語言最好的辦法就是實踐,這句話一點都不假!

今天完成了一個Python的小指令碼,但是其中卻遇到了一些意想不到的困難,最終通過上網搜尋資料終於將這些問題解決了,對於我這個連Python都還不是太懂的菜鳥來說,真的很不容易啊!

學到了什嗎?

  1. python中r的用法,r'str'表示raw string,既忽略逸出字元。因為和windows不一樣,python中認為\就是逸出字元escape sequences的標誌。
  2. python中提取系統時間,以及將其轉化成字串的方法。time.strftime()。
  3. 將list轉化成str的方法,s.join(list),其中s是list不同元素轉換成string後中間的空格符。
  4. 7z壓縮的方法中 如果加上-t7z 這種方法的壓縮效果更好
  5. 解決zip_command不能調用7z的兩種辦法:

a. 通過電腦→屬性→系統保護→進階→環境變數→系統變數  path 修改環境變數,添加7z的path

b. 直接在zip_command命令中添加7z的路徑,但是需要注意由於Program Files有空格,Python不能識別它,所以需要將zip_command改成:

    zip_command = r'D:\Progra~1\7-Zip\7z' + " a %s %s" % ( target, ' '.join(source) )

    造成這種原因是,dos下只支援8.3檔案名稱規格,多過的都會以~1結尾

   

完成的小指令碼是實現系統檔案的備份。

#!F:/document/python
# Filename: backup_ver1.py
import os
import time
##import sys
##
##os.sys.path.append(r'D:\Progra~1\7-Zip')
#1. the files and derectories to be backed up are specified in a list.
source = [r'f:\document\python\a.txt',r'f:\document\html']
#2. the backup must be stored in a main backup directory.
target_dir = r'f:\document\backup\\'
#3. the files are backed up into a zip file.
#4. the name of the zip archive is the current date and time
target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.zip'
#5. put files in a zip archive
##zip_command = "rar a -r %s %s" % ( target, ' '.join(source) )
##zip_command = r'D:\Progra~1\7-Zip\7z' + " a %s %s" % ( target, ' '.join(source) )
zip_command = "7z a %s %s" % ( target, ' '.join(source) )
#  run the backup
if os.system(zip_command) == 0:
    print 'Successful backup to', target
else:
    print 'backup failed'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.