關於python -os.mkdir(str)方法的使用記錄


這幾天在學習python,從昨天開始安裝了ubuntu系統以后,就開始研究這個備份文件的例子,可是無論如何,總是不成功,不是說

OSError: [Errno 2] No such file or directory:

就是說

OSError: [Errno 13] Permission denied:

這些錯誤都是因為一個os.mkdir()的系統模塊的方法,終於是把我惹急了,在這個方法之前添加了測試輸出語句,完全可以執行,很明顯就是這個方法搞得不對,google了一下os.mkdir();找到了一個硬貨,http://bbs.chinaunix.net/thread-1313995-1-1.html,發現我原來寫的target_dir里邊是沒有"./"的,估計是這種原因造成的,后來直接建了一個簡單的python源文件,

#/!usr/bin/python
import os
os.mkdir( './image/image2' )

測試通過,完全可以執行,后來研究了一下,這個路徑需要是當前路徑下的子文件夾,並且需要有“./”開頭,這個方式應該是資料中所說的相對目錄,后來又測試了一下絕對路徑,將路徑修改成了'/home/zaj/mypython/e',果然起效了,我記得剛才也有這樣寫過,可是沒有成功過阿,難道是錯覺,好吧,不管怎樣,我是把備份測試成功,並且初步了解了os.mkdir()的相對路徑和絕對路徑的創建文件夾,就這樣吧,今天到此為止,運動,休息,明天繼續搞,最后把測試代碼貼出來,其實是簡明教程里邊的源碼,只是對路徑進行了修改,源碼中真的沒有加相對路徑的“./”,也不知道是印刷問題還是版本問題,不管了,貼碼!

#!/usr/bin/python
#Filename:backup_ver2.py
import os
import time

source = ['/home/zaj/mypython/','home/zaj/mypython/image']

target_dir = '/home/zaj/mypython/e' #這是絕對路徑
#target_dir = './e'這個地方是相對路徑
today = target_dir + time.strftime('%Y%m%d')

now = time.strftime('%H%M%S')
print 'daozheli'
if not os.path.exists(today):
 os.mkdir(today)
 print 'Successfully created directory', today

target = today + os.sep + now + '.zip'

zip_command = "zip -qr '%s' %s" % (target, ' '.join(source))
if os.system(zip_command) == 0:
 print 'Successful backup to', target
else:
 print 'Backup FAILED'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM