1. 程式人生 > >使用Python實現touch命令功能

使用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用來顯示執行情況,實際使用的程式碼這部分當然是去掉更舒服一些。速度快,而且少了很多不必要的資訊,沉默是金嘛!