linux命令行如何實現傳遞參數

實現在命令行裏執行python3 my_times.py 80 這個命令,可以使其把函數結果返回
80是80分鐘,應得到 1小時 20分鐘:

代碼如下:
#!/usr/bin/python3

import sys

min = int(sys.argv[1])

def my_time(min):
if min > 60:
H = min//60
M = min % 60
elif 0 < min < 60:
H = 0
M = min
else:
print(‘error’)

print('H:%s M:%s' % (H, M))

try:
my_time(min)
except Exception as e:
print(e)
命令行的參數傳遞到python中,其實只要導入sys模塊,其中sys有個argv,這是一個列表,當其索引爲0時時當前文檔的路徑,這個不去管他,索引爲1的sys.argv[1]就時命令行的第一個參數,就是80了,如果索引爲2的話就以此類推,也就是命令行後的第二個參數了。
結果如下:

python@ubuntu:~/Desktop/zxc/sss$ ./my_times.py 80
H:1 M:20
別以爲到這裏就完了

因爲每次都要切換到文件所在目錄才能運行,爲了更方使用程序,我們可以將my_times.py連接到/usr/bin,或者/usr/local/bin,等等配置了系統環境變量的目錄下

python@ubuntu:~/Desktop/zxc/sss$ sudo ln -s /home/python/Desktop/zxc/sss/my_times.py /usr/local/bin/gett
ln -s 是軟鏈接:
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件佔用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。

注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
/home/python/Desktop/zxc/sss/my_times.py,是my_times.py的絕對路徑
/usr/local/bin/gett,gett是軟鏈接後的重命名
運行效果就是第一個圖那樣,簡便,像是源生的linux命令一樣(手動滑稽)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章