使用Python實現touch命令功能
公司指定的辦公平臺是Windows,而且給了諸多不自由的限制。如果對shell有一點點依賴,那麼會是一個很麻煩的事情,畢竟對Windows的批處理命令熟悉度不夠。由於touch命令使用的頻繁,我覺得可以拿Python去模擬一個簡單的偽touch。我所用到的touch最多的功能其實就只有一個——建立檔案!這還是得說到公司辦公的電腦環境上,滑鼠的右鍵點一次反應有時候會達到一分鐘,的確是很詭異。
在嘗試了申請安裝Cygwin失敗之後,我覺得自己還是得寫點什麼才好了。
今晚狀態不佳,困頓異常,但是卻也絲毫沒有一下子能夠睡著的感覺。嘗試用Python實現一下我自己需要的小功能吧!
程式碼如下:
#!/usr/bin/python
import os
defTouch(file_name):
if file_name in os.listdir('.'):
print("file exist!")
else:
print("creating %s" %file_name)
fid = open(file_name,'w')
fid.close()
# test interface
for eacn_file in['a.txt','b.txt','c.txt']:
Touch(eacn_file)
測試記錄如下:
E:\WorkSpace\02_技術實踐\01_程式語言\04_Python\exp_03>dir
驅動器 E 中的卷沒有標籤。
卷的序列號是 2013-5089
E:\WorkSpace\02_技術實踐\01_程式語言\04_Python\exp_03 的目錄
2017/03/16 23:40 <DIR> .
2017/03/16 23:40 <DIR> ..
2017/03/16 23:38 294 exp_03.py
1 個檔案 294 位元組
2 個目錄79,102,218,240 可用位元組
E:\WorkSpace\02_技術實踐\01_程式語言\04_Python\exp_03>pythonexp_03.py
creating a.txt
creating b.txt
creating c.txt
E:\WorkSpace\02_技術實踐\01_程式語言\04_Python\exp_03>dir
驅動器 E 中的卷沒有標籤。
卷的序列號是 2013-5089
E:\WorkSpace\02_技術實踐\01_程式語言\04_Python\exp_03 的目錄
2017/03/16 23:40 <DIR> .
2017/03/16 23:40 <DIR> ..
2017/03/16 23:40 0 a.txt
2017/03/16 23:40 0 b.txt
2017/03/16 23:40 0 c.txt
2017/03/16 23:38 294 exp_03.py
4 個檔案 294 位元組
2 個目錄79,102,218,240 可用位元組
E:\WorkSpace\02_技術實踐\01_程式語言\04_Python\exp_03>pythonexp_03.py
file exist!
file exist!
file exist!
這樣,檔案建立的功能至少是有了。如果檔案已經存在也不會出現覆蓋的情況。如果想要時間戳功能,再增加額外的功能就好了。程式碼中加入了幾個print用來顯示執行情況,實際使用的程式碼這部分當然是去掉更舒服一些。速度快,而且少了很多不必要的資訊,沉默是金嘛!