我有這樣的備份目錄結構(所有目錄不是空的)給定級別的所有子目錄:名單在Python
/home/backups/mysql/
2012/
12/
15/
2013/
04/
29/
30/
05/
02/
03/
04/
05/
我想僅通過提供獲取包含備份,所有目錄的列表根目錄路徑:
get_all_backup_paths('/home/backups/mysql', level=3)
這應返回:
/home/backups/mysql/2012/12/15
/home/backups/mysql/2013/04/29
/home/backups/mysql/2013/04/30
/home/backups/mysql/2013/05/02
/home/backups/mysql/2013/05/03
/home/backups/mysql/2013/05/04
/home/backups/mysql/2013/05/05
而那些不應該存在於結果:
/home/backups/mysql/2012
/home/backups/mysql/2012/12
/home/backups/mysql/2013
/home/backups/mysql/2013/04
/home/backups/mysql/2013/05
有什麼辦法來os.listdir
3倍的水平下降,不包括所有其他級別?如果是,我會提供你的幫助。
def get_all_backup_paths(dir, level):
# ????
然後,你需要:'level3_dirs = [X爲X在3級,如果os.path.isdir(X)]' – user9876
天才!我愛蟒蛇:) –