這個程序的功能非常的簡單,就是每天在系統(tǒng)中新建一個文件夾。文件夾即當(dāng)前的時間。此代碼是在同事那邊看到的,為了鍛煉下自己薄弱的Python能力,所以花時間重新寫了一個。具體代碼如下:
import time,os basePath = 'F:\\work\\' thisYear = str(time.localtime()[0]) thisMonth = str(time.localtime()[1]) thisDay = time.strftime("%Y-%m-%d", time.localtime()) yearPath = basePath + thisYear monthPath = basePath + thisYear + '\\' +thisMonth dayPath = basePath + thisYear + '\\' +thisMonth + '\\' + thisDay if not os.path.exists(yearPath): os.mkdir(yearPath) if not os.path.exists(monthPath): os.mkdir(monthPath) if not os.path.exists(dayPath): os.mkdir(dayPath) os.popen("explorer.exe" + " " + dayPath) os.popen("exit")
剛開始寫的時候我使用的os.system()來調(diào)用windows程序,但發(fā)現(xiàn)每次執(zhí)行是都會彈出一個python窗口,很是麻煩。問了下高人,說解決方案是把.py文件后綴改為.pyw后綴即可。但是試了下還是不行。在高人的指導(dǎo)下,才得知原來值需要將os.system()修改為os.popen()即可。
.py和.pyw有什么不同?
嚴(yán)格來說,它們之間的不同就只有一個:視窗運(yùn)行它們的時候調(diào)用不同的執(zhí)行檔案。視窗用python.exe 運(yùn)行.py ,用pythonw.exe 運(yùn)行.pyw 。這純粹是因為安裝視窗版Python 時,擴(kuò)展名.py 自動被登記為用python.exe 運(yùn)行的文件,而.pyw 則被登記為用pythonw.exe 運(yùn)行。.py 和.pyw 之間的“其它差別”全都是python.exe 和pythonw.exe 之間的差別。
跟 python.exe 比較起來,pythonw.exe 有以下的不同:
- ??? 執(zhí)行時不會彈出控制臺窗口(也叫 DOS 窗口)
- ??? 所有向原有的 stdout 和 stderr 的輸出都無效
- ??? 所有從原有的 stdin 的讀取都只會得到 EOF
.pyw 格式是被設(shè)計來運(yùn)行開發(fā)完成的純圖形界面程序的。純圖形界面程序的用戶不需要看到控制臺窗口。開發(fā)純圖形界面程序的時候,你可以暫時把.pyw 改成 .py ,以便運(yùn)行時能調(diào)出控制臺窗口,看到所有錯誤信息。
os.system()和os.popen()有什么不同?
- ??? os.system(command)? 在一個子shell中運(yùn)行command命令,并返回command命令執(zhí)行完畢后的退出狀態(tài)。這實際上是使用C標(biāo)準(zhǔn)庫函數(shù)system()實現(xiàn)的。這個函數(shù)在執(zhí)行command命令時需要重新打開一個終端,并且無法保存command命令的執(zhí)行結(jié)果。
- ??? os.popen(command,mode)? 打開一個與command進(jìn)程之間的管道。這個函數(shù)的返回值是一個文件對象,可以讀或者寫(由mode決定,mode默認(rèn)是'r')。如果mode為'r',可以使用此函數(shù)的返回值調(diào)用read()來獲取command命令的執(zhí)行結(jié)果。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
