網(wǎng)站首頁 編程語言 正文
一、Python sys 模塊
“sys” 是 “system”,是一個系統(tǒng)模塊,該模塊提供了一些接口,用戶訪問python解釋器自身使用和維護的變量,同時模塊中還提供了一些函數(shù),而我們今天要講解的 argv 就是其中一個函數(shù)。
二、sys.argv
上一篇文章我們講到了引用模塊,這里sys 就相當(dāng)于一個模塊,而argv就是模塊里的一個函數(shù)。
“argv” 即 “argument value” 是一個列表對象,其中存儲的是在命令行調(diào)用 python 腳本是提供的 “命令行參數(shù)”。
這里重點理解這句話,我們舉例來說明:
先看一個簡單的例子:
import sys
print(sys.argv[0])
我們看一下輸出結(jié)果:
這里我們將 文件命名為 test.py 放在我們的系統(tǒng)目錄下,在cmd下執(zhí)行:python test.py
我們看一下輸出結(jié)果;
可以看到結(jié)果是:被調(diào)用的腳本文件名或全路徑
這里需要強調(diào)的是:argv[0] 是 被調(diào)用的腳本文件名或全路徑。
那我們改一下程序,再試試:
import sys
print(sys.argv[1])
這里我們將代碼改成 argv[1]
此時我們輸入 python test.py hello 看一下運行結(jié)果:
看到這,是不是有的小伙伴就明白啦,sys.argv[]其實就是一個列表。
那我們再試一個,既然sys.argv是一個列表,我們就讓它從第三個開始輸出:
import sys
print(sys.argv[2:])
看一下運行結(jié)果:
這次我們輸入的是 1 2 3 4 5 ,我們期望從列表的第三個元素開始輸出,結(jié)果也很我們期望的一樣,講到這里,sys.argv就被我們徹底搞懂了。
總結(jié):
sys.argv[]是一個列表
sys.argv[0]是被調(diào)用的腳本文件名或全路徑
sys.argv[1:]之后的元素就是我們從程序外部輸入的,而非代碼本身的,想要看到它的效果,就要將程序保存,從外部運行程序并給參數(shù),這也是我們在cmd里面運行的原因。
提升:
既然已經(jīng)搞明白了 sys.argv[]的基本用法,那我們再測試一下:
import sys
for index,arg in enumerate(sys.argv):
print("第%d個參數(shù)是: %s" % (index, arg))
這次輸入: a b c d e
我們可以看到輸出結(jié)果是將 腳本文件名和我們輸入的參數(shù)依次輸出。
原文鏈接:https://blog.csdn.net/fancynthia/article/details/126271660
相關(guān)推薦
- 2022-04-07 Go語言中int、float、string類型之間相互的轉(zhuǎn)換_Golang
- 2022-11-04 一文理解Redux及其工作原理_React
- 2022-07-16 ssh遠程連接docker
- 2021-12-01 linux下umask命令用途原理和計算方式詳解_Linux
- 2022-07-18 C++詳細講解print緩沖區(qū)的刷新_C 語言
- 2022-05-10 Element-ui 中 Table 表格的設(shè)置表頭/去除下標(biāo)線/設(shè)置行間距等屬性的使用及 slot
- 2023-01-31 Python函數(shù)用法和底層原理分析_python
- 2022-09-24 ASP.NET?MVC創(chuàng)建XML文件并實現(xiàn)元素增刪改_實用技巧
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支