国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python復制目錄結構腳本代碼分享

2020-02-23 00:17:47
字體:
來源:轉載
供稿:網友

引言

  有個需要,需要把某個目錄下的目錄結構進行復制,不要文件,當目錄結構很少的時候可以手工去建立,當目錄結構復雜,目錄層次很深,目錄很多的時候,這個時候要是還是手動去建立的話,實在不是一種好的方法,弄不好會死人的。寫一個python腳本來處理吧。

首先了解

  寫python腳本前,先了解幾個東西
代碼如下:
#!/usr/bin/python

這個東西寫過腳本的人都知道,用來標明該腳本的執行器,類似的還有
代碼如下:
#!/bin/bash       通過bash來執行
#!/usr/local/php/bin/php 通過php執行器來執行   
 

# -*- coding: utf-8 -*-

這個是設置腳本的編碼格式,不然非英文可能會出現亂碼

匿名函數lambda
代碼如下:
#lambda很好用,創建匿名函數很方便
g = lambda x,y : x+y
g(3,5) #返回8

匿名函數分為四部分,標識 lambda,分號 :,參數 x,y,操作 x+y

除了這個之外,還有函數map、filter一個進行映射,一個進行過濾
代碼如下:
__name__=="__main__"

一個文件就是一個模塊,在python中每個模塊都有一個__name__屬性,屬性的值取決于如何使用該模塊,一般有兩種使用方式,直接在命令行運行,這個時候__name__值為__main__,當import使用的時候,__name__值就是當前模塊的名稱(不帶擴展名),因此可以通過這個判斷是否是直接在命令行運行程序,以便做一些腳本使用。
代碼如下:
import os
import sys

還有這兩個模塊,os包含一些操作系統功能,比如說遍歷文件夾,拼接路徑等等,sys模塊包含系統函數,我這里只用來獲取腳本后面的參數

編碼

代碼如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Filename:floders.py

import os
import sys

source = os.path.realpath(sys.argv[1])
target = os.path.realpath(sys.argv[2])

def isdir(x):
    return os.path.isdir(x) and x != '.svn'
def mkfloders(src,tar):
    paths = os.listdir(src)
    paths = map(lambda name:os.path.join(src,name),paths)
    paths = filter(isdir, paths)
    if(len(paths)<=0):
        return
    for i in paths:
        (filepath, filename)=os.path.split(i)
        targetpath = os.path.join(tar,filename)
        not os.path.isdir(targetpath) and os.mkdir(targetpath)
        mkfloders(i,targetpath)

if __name__=="__main__":
    if(os.path.isdir(source)):

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梁山县| 汝州市| 松滋市| 水城县| 丽水市| 嘉祥县| 三门县| 南阳市| 绿春县| 台湾省| 运城市| 苗栗县| 南充市| 曲水县| 溧水县| 崇礼县| 南丹县| 临沧市| 额济纳旗| 曲靖市| 依兰县| 文昌市| 班玛县| 军事| 集贤县| 海安县| 潜山县| 泰州市| 永济市| 甘谷县| 淅川县| 龙海市| 胶州市| 玛纳斯县| 三穗县| 平顶山市| 屏东市| 鲁山县| 兰考县| 黎平县| 房产|