国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python復制目錄結構腳本代碼分享

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

2019-11-23 17:44junjie Python

這篇文章主要介紹了Python復制目錄結構腳本代碼分享,本文分析了需求、講解了匿名函數lambda等內容,并給出了腳本代碼,需要的朋友可以參考下

引言

  有個需要,需要把某個目錄下的目錄結構進行復制,不要文件,當目錄結構很少的時候可以手工去建立,當目錄結構復雜,目錄層次很深,目錄很多的時候,這個時候要是還是手動去建立的話,實在不是一種好的方法,弄不好會死人的。寫一個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)):
        if(target.find(source) == 0):
            print("不能將生成的新目錄放在源目錄下")
        else:
            if not os.path.isdir(target):
                os.mkdir(target)
            mkfloders(source,target)
    else:
        print("源文件夾不存在")

 

使用

  使用很簡單:

復制代碼代碼如下:


#在當前文件夾下執行
./folders.py ./ /tmp/yyyyy

 

#執行完之后就會在/tmp下創建yyyyy目錄,目錄中包含上面的第一個文件夾中的目錄結構

 

這個地方有兩個要注意的地方,不能將創建后的目錄放在要復制的目錄中或者其子目錄中

總結

  在做這個的時候遇到了這個問題 /usr/bin/python^M: bad interpreter: No such file or directory ,這個問題看樣子是編碼的問題,在每行后面添加了個字符,查資料后,原來是由于我從windows下直接把程序復制到linux下的編碼出現了問題,解決方法很簡單:vi folders.py之后,在命令行下輸入

 

復制代碼代碼如下:


:set ff #結果表示編碼平臺,應該是fileformat=dos

 

:set fileformat=unix #設置編碼到unix平臺

:set ff #這個時候再去查看文件編碼,應該是fileformat=unix

 

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久精品亚洲精品国产欧美kt∨ | 日日操天天爽 | 国产一区二区精品在线观看 | 亚洲精品福利 | 羞羞网站免费观看 | av在线电影观看 | 成人午夜精品一区二区三区 | 毛片视频免费 | 91在线高清视频 | 亚洲 欧美 日韩 在线 | 伊人伊人 | 91免费看大片 | 亚洲卡一 | 午夜精品福利在线观看 | 日韩中文字幕 | 亚洲精品欧美 | 亚洲成av人片在线观看 | 亚洲国产精品久久久久久久 | 91欧美激情一区二区三区成人 | 日韩欧美一区二区三区 | 国产精品第一页在线 | 亚洲精品久久久久久下一站 | 欧美日韩一区免费 | 国产一区亚洲 | 日韩在线观看中文字幕 | 国产日韩精品在线 | 免费视频一区二区 | 精品少妇一区二区三区在线播放 | 日本日韩中文字幕 | 在线中文一区 | 成人欧美一区二区三区在线播放 | 国产成人精品av | 国产激情一区二区三区成人免费 | 久久国产精品一区二区 | 黄色片网站在线免费观看 | 一级片av | 久草视频网 | 亚洲精品视频在线 | 九九热在线视频 | av影音资源 | 久久99精品久久久 |