成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 騷操作,自動(dòng)拷貝U盤

zgbgx / 503人閱讀

摘要:今天的騷操作,分享的是一個(gè)自動(dòng)拷貝電腦盤內(nèi)容的程序。當(dāng)別人的盤插入到你的電腦上時(shí),腳本會(huì)自動(dòng)把盤所有的內(nèi)容,全部拷貝到你的電腦上。騷源碼程序主要是由三個(gè)函數(shù)組成,。每個(gè)操作都會(huì)記錄到日志中,以便日后查看相應(yīng)的拷貝信息。

閱讀文本大概需要 6 分鐘。

Python 這門語言有非常多有趣的內(nèi)容,比如給微信好友自動(dòng)發(fā)消息、查看微信好友撤回的消息、通過微信控制電腦等等。在我公眾號(hào)上也分享過很多有趣的程序,近期我會(huì)去搜集一些騷操作的 Python 程序分享給大家,并命名「Python 騷操作」專欄,持續(xù)更新!文中一些程序可能來自別人的文章,但如果我覺得程序還有所改進(jìn)的地方,我會(huì)繼續(xù)添加一些代碼,并且我會(huì)在文末標(biāo)注原程序出處。

今天的「Python 騷操作」,分享的是一個(gè)自動(dòng)拷貝電腦 U 盤內(nèi)容的程序。當(dāng)別人的 U 盤插入到你的電腦上時(shí),Python 腳本會(huì)自動(dòng)把 U 盤所有的內(nèi)容,全部拷貝到你的電腦上。腳本每隔 5 秒掃描當(dāng)前電腦是否有 U 盤插入,如果是已拷貝過的內(nèi)容,則不會(huì)重復(fù)拷貝,每個(gè)相應(yīng)的操作都會(huì)記錄到日志文件中。

如果恰好這個(gè) U 盤里有某些室友的「學(xué)習(xí)視頻」,比如下的圖片。

那騷氣指數(shù) 10 顆星!

注意此程序只是用來學(xué)習(xí)交流,切勿違法使用。

Python 騷思路

在 windows 系統(tǒng)中,當(dāng)有 U 盤插入到你的電腦上時(shí),會(huì)給它分配一個(gè)磁盤名稱,比如在我的電腦上分配的是「J」。所以我會(huì)先定義一個(gè)「USB_FILE」變量,表示 U 盤所在的目錄。

我們利用 os 庫來判斷當(dāng)前系統(tǒng)是否有「USB_FILE」,如果掃描到當(dāng)前系統(tǒng)有這個(gè)目錄,說明有 U 盤插入到當(dāng)前電腦上。隨后我們通過 shutil 庫,把 U 盤里的內(nèi)容全部拷貝到自己的電腦上。在每個(gè)操作之間我添加了 input_log() 方法,用來把當(dāng)前相應(yīng)的操作記錄到日志文件中。?

Python 騷源碼

程序主要是由三個(gè)函數(shù)組成,get_dirs_size()、main()、input_log()。

get_dirs_size()

get_dirs_size() 主要是返回要拷貝 U 盤的長度,用來判斷當(dāng)前要拷貝的內(nèi)容是否已經(jīng)重復(fù),如果重復(fù)則無需重新拷貝。

def?get_dirs_size(dir):
????size?=?0
????for?root,?dirs,?files?in?os.walk(dir):
????????size?+=?sum([getsize(join(root,?name))?for?name?in?files])
????print(size)
????return?size

main()

main() 用來執(zhí)行主邏輯代碼,即每隔 5 秒檢查當(dāng)前電腦是否有 U 盤插入。如果檢查到,則記錄當(dāng)前 U 盤的長度。在下一次檢測的時(shí)候,如果當(dāng)前的長度沒有發(fā)生變化,則無需重新拷貝。每個(gè)操作都會(huì)記錄到日志中,以便日后查看相應(yīng)的拷貝信息。

def?main():
????old_size?=?0
????new_dirsize?=?0
????while(1):
????????if?os.path.exists(USB_PATH):
????????????print("檢測到?U?盤")
????????????input_log("檢測到?U?盤")
????????????new_dirsize?=?get_dirs_size(USB_PATH)
????????????if?old_size?!=?new_dirsize:
????????????????for?filename?in?os.listdir(USB_PATH):
????????????????????print("拷貝了:"?+?filename)
????????????????????input_log("拷貝了:"?+?filename)
????????????????shutil.copytree(USB_PATH,?SAVE_PATH)
????????????????old_size?=?new_dirsize
????????????else:
????????????????print("U?盤沒有變化")
????????????????input_log("U?盤沒有變化")
????????else:
????????????print("暫時(shí)沒有?U?判斷")
????????print("開始休眠")
????????input_log("開始休眠")
????????sleep(5)

????????print("休眠結(jié)束,重新檢測")
????????input_log("休眠結(jié)束,重新檢測")

input_log() 利用 logging 庫,來把相應(yīng)的操作信息保存到一個(gè)日志文件中。

def?input_log(message):
????handler?=?logging.handlers.RotatingFileHandler(LOG_FILE,?maxBytes=1024?*?1024,?backupCount=5,
???????????????????????????????????????????????????encoding="utf-8")??#?實(shí)例化handler
????fmt?=?"%(asctime)s?-?%(levelname)s?-?%(message)s"

????formatter?=?logging.Formatter(fmt)??#?實(shí)例化formatter
????handler.setFormatter(formatter)??#?為handler添加formatter

????logger?=?logging.getLogger("tst")??#?獲取名為tst的logger
????logger.addHandler(handler)??#?為logger添加handler
????logger.setLevel(logging.DEBUG)

????logger.info(message)

Python 騷教程

此次的程序使用非常簡單,首先下載源碼,后臺(tái)回復(fù)「拷貝」即可獲取源碼。然后修改下 USB_PATH 和 SAVE_PATH,這兩個(gè)參數(shù)表示的是你 U 盤所屬的位置和你想要保存的目錄。

LOG_FILE?=?"test.log"
USB_PATH?=?"J:"
SAVE_PATH?=?"D:disk_copy"

原程序參考來源:

http://uuzdaisuki.com/2018/03...

本文首發(fā)于公眾號(hào)「癡?!?,后臺(tái)回復(fù)「1024」即可獲取最新編程資源。

比如這樣的:史上最全 Python 學(xué)習(xí)資料,PDF 電子書大合集

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44844.html

相關(guān)文章

  • Python 操作,微信遠(yuǎn)程控制電腦

    摘要:今天帶給大家一個(gè)非常有意思的程序,基于實(shí)現(xiàn)微信控制電腦。你可以通過在微信發(fā)送命令,來拍攝當(dāng)前電腦的使用者,然后圖片會(huì)發(fā)送到你的微信上。程序主要是通過使用庫來登錄到微信網(wǎng)頁端,然后通過來發(fā)送消息和接收消息。隨后會(huì)彈出一個(gè)微信網(wǎng)頁登錄的二維碼。 showImg(https://segmentfault.com/img/remote/1460000016807619); 閱讀文本大概需要 5...

    ytwman 評(píng)論0 收藏0
  • 經(jīng)驗(yàn)拾憶(純手工)=> Python好用深度技能工具介紹

    摘要:單元素元祖這是整數(shù)這才是元祖也許這兩行,你們當(dāng)時(shí)疑惑過,并且現(xiàn)在也都知道了,當(dāng)然重點(diǎn)并不在這里。。雖然我水平很垃圾,但是我知道匿名函數(shù)有一種執(zhí)行方式叫做自執(zhí)行??窗?,這就是版的匿名函數(shù)自執(zhí)行方法。 單元素元祖: a = (1) # 這是整數(shù)1 a = (1,) # 這才是元祖 也許這兩行,你們當(dāng)時(shí)疑惑過,并且現(xiàn)在也都知道了,當(dāng)然重點(diǎn)并不在這里。。 我無聊的時(shí)候想過,為什么單...

    UnixAgain 評(píng)論0 收藏0
  • 如何在 U 上搭起 Java 開發(fā)所需要的一切

    摘要:在盤上搭建相對(duì)完整的開發(fā)環(huán)境,主要分為本身數(shù)據(jù)庫遠(yuǎn)程終端和版本控制等等幾個(gè)部分,下面分別介紹。有些項(xiàng)目現(xiàn)場開發(fā)的情況是這樣。這意味著不能用網(wǎng)上的虛擬機(jī)。想要進(jìn)行開發(fā),至少要有兩個(gè)東西和。數(shù)據(jù)庫是可以帶在盤上的。 showImg(https://segmentfault.com/img/bVPFvZ?w=1257&h=943); 是不是看到這張圖,覺得我這人真是苦逼啊?如果你有這方面的需...

    YFan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

zgbgx

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<