python啟動參數
❶ python函數的參數類型
Python函數的參數類型主要包括必選參數、可選參數、可變參數、位置參數和關鍵字參數,本文介紹一下他們的定義以及可變數據類型參數傳遞需要注意的地方。
必選參數(Required arguments)是必須輸入的參數,比如下面的代碼,必須輸入2個參數,否則就會報錯:
其實上面例子中的參數 num1和num2也屬於關鍵字參數,比如可以通過如下方式調用:
執行結果:
可選參數(Optional arguments)可以不用傳入函數,有一個默認值,如果沒有傳入會使用默認值,不會報錯。
位置參數(positional arguments)根據其在函數定義中的位置調用,下面是pow()函數的幫助信息:
x,y,z三個參數的的順序是固定的,並且不能使用關鍵字:
輸出:
在上面的pow()函數幫助信息中可以看到位置參數後面加了一個反斜杠 / ,這是python內置函數的語法定義,Python開發人員不能在python3.8版本之前的代碼中使用此語法。但python3.0到3.7版本可以使用如下方式定義位置參數:
星號前面的參數為位置參數或者關鍵字參數,星號後面是強制關鍵字參數,具體介紹見強制關鍵字參數。
python3.8版本引入了強制位置參數(Positional-Only Parameters),也就是我們可以使用反斜杠 / 語法來定義位置參數了,可以寫成如下形式:
來看下面的例子:
python3.8運行:
不能使用關鍵字參數形式賦值了。
可變參數 (varargs argument) 就是傳入的參數個數是可變的,可以是0-n個,使用星號( * )將輸入參數自動組裝為一個元組(tuple):
執行結果:
關鍵字參數(keyword argument)允許將任意個含參數名的參數導入到python函數中,使用雙星號( ** ),在函數內部自動組裝為一個字典。
執行結果:
上面介紹的參數可以混合使用:
結果:
注意:由於傳入的參數個數不定,所以當與普通參數一同使用時,必須把帶星號的參數放在最後。
強制關鍵字參數(Keyword-Only Arguments)是python3引入的特性,可參考:https://www.python.org/dev/peps/pep-3102/。 使用一個星號隔開:
在位置參數一節介紹過星號前面的參數可以是位置參數和關鍵字參數。星號後面的參數都是強制關鍵字參數,必須以指定參數名的方式傳參,如果強制關鍵字參數沒有設置默認參數,調用函數時必須傳參。
執行結果:
也可以在可變參數後面命名關鍵字參數,這樣就不需要星號分隔符了:
執行結果:
在Python對象及內存管理機制中介紹了python中的參數傳遞屬於對象的 引用傳遞 (pass by object reference),在編寫函數的時候需要特別注意。
先來看個例子:
執行結果:
l1 和 l2指向相同的地址,由於列表可變,l1改變時,l2也跟著變了。
接著看下面的例子:
結果:
l1沒有變化!為什麼不是[1, 2, 3, 4]呢?
l = l + [4]表示創建一個「末尾加入元素 4「的新列表,並讓 l 指向這個新的對象,l1沒有進行任何操作,因此 l1 的值不變。如果要改變l1的值,需要加一個返回值:
結果:
下面的代碼執行結果又是什麼呢?
執行結果:
和第一個例子一樣,l1 和 l2指向相同的地址,所以會一起改變。這個問題怎麼解決呢?
可以使用下面的方式:
也可以使用淺拷貝或者深度拷貝,具體使用方法可參考Python對象及內存管理機制。這個問題在Python編程時需要特別注意。
本文主要介紹了python函數的幾種參數類型:必選參數、可選參數、可變參數、位置參數、強制位置參數、關鍵字參數、強制關鍵字參數,注意他們不是完全獨立的,比如必選參數、可選參數也可以是關鍵字參數,位置參數可以是必選參數或者可選參數。
另外,python中的參數傳遞屬於對象的 引用傳遞 ,在對可變數據類型進行參數傳遞時需要特別注意,如有必要,使用python的拷貝方法。
參考文檔:
--THE END--
❷ 如何運行Python程序的方法
1.
使用Python自帶的IDLE
在開始-->程序-->Python2.5(視你安裝的版本而不同)中找到IDLE(Python
GUI),
點擊後彈出如下窗體:
在>>>提示符後輸入代碼,回車,就可以執行此代碼。
IDLE支持語法高亮,支持自動縮進,支持方法提示,不過提示的很慢。
2.
在命令行窗口上運行
這種方法的前提是:你在系統的PATH變數中配置了Python的安裝路徑。
右鍵我的電腦-->屬性-->高級-->環境變數,在系統變數列表中找到Path項,點擊編輯按鈕,在其中追加「C:\Python25;」(路徑及版本視你安裝而定),保存退出。
開始-->運行-->輸入cmd,回車,開啟一個CMD窗口。
在DOS提示符>後,輸入python,回車,進入Python環境。
它的運行和IDLE基本一致,但是沒有了語法高亮、自動縮進、方法提示,唯一的好處就是運行速度比IDLE快了些(如果你告訴我可以加參數運行python,那你就不算新手了,也不用看這篇文章了),所以用處不大。
退出此python環境使用Ctrl
+
Z,然後回車。
3.
以腳本方式運行
以上兩種運行方式雖然簡便,但是不適合大量代碼的開發,只適合查看單句或少量幾句代碼的運行結果,或者驗證某函數的調用方法,而這恰恰是我們平時調試、驗證程序的常用方式。如果是正式的開發,則應該使用獨立腳本的方式運行。
打開你的文本編輯器(我是用EmEditor,當然你使用記事本、寫字板也都可以),輸入python代碼,保存成*.py文件,然後雙擊運行它就可以執行了,當然前提也是必須配置系統PATH變數。
l
在其所在目錄下開啟一個CMD窗口,輸入python
*.py運行
l
在代碼的最後增加如下語句:
raw_input()
然後你再雙擊運行,結果就會停留在那裡,直到你敲擊回車鍵才消失。
Linux下運行Python程序,一般說來有以下兩種形式,其實和Windows下基本一樣。
一、在IDLE中運行
在終端窗口輸入$
python進入互動式運行環境,然後就可以邊輸入邊執行代碼了:
>>>
print
'Hello
Python'
Hello
Python>>>退出使用Ctrl-D。
二、以腳本方式運行
在py腳本所在目錄下輸入
❸ python selenium設置瀏覽器參數
設置瀏覽器參數
為了避免每次運行程序都打開一個窗口,廳慧我們也可以設置無窗口訪問,只需添加瀏覽器參數即可:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
url = ' https://www..com/'
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('lang=zh_CN.utf-8')
UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
chrome_options.add_argument('User-Agent=' + UserAgent)
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.maximize_window()
driver.minimize_window()
driver.get(url)
print(driver.title)
常用參數
啟動就最大化--start-maximized
指定用戶文件夾 User Data 路徑,可以把書簽這樣的用戶數扮敗答據保存在系統分區以外的分區–-user-data-dir=」[PATH]」
指定緩存Cache路徑–-disk-cache-dir=「[PATH]」 指定Cache大小,單位Byte–-disk-cache-size=100
隱身模式啟動–-incognito
禁用javascript–-disable-javascript# 禁止載入所有插件,可以增加速度--disable-plugins
禁用JavaScript--disable-javascript
禁用彈出攔截--disable-popup-blocking
禁用插件--disable-plugins
禁用圖像--disable-images
設置枯碼代理chrome_options.add_argument('--proxy-server=http://{ip}:{port}') #http://127.1.1.10:8080
❹ python如何運行程序並向程序傳入參數
參數個數使用len()函數來獲取import sys print sys.argv if __name__=='__main__': print "Program name", sys.argv[0] for i in range(1, len(sys.argv)): print "arg%d"%i,sys.argv[i]
注意調用的時候百必須使用
python 腳本名.py arg1 arg2
因為度win下面的命令解釋器認為.py不是可執行文件,直接調用文件的內時候,不會傳入參數,容如下面的代碼則不會傳入參數:
腳本名.py arg1 arg2
❺ python 已經啟動的線程 怎麼往裡面傳參數
把參數放到Queue里,線程從Queue里獲得參數,Queue是線程安全的
❻ python啟動電腦程序
import os
#打開圖片
os.startfile(r'D:\新建.png')
#打開txt文件
os.startfile(r'D:\新建文本文檔.txt')
#打開exe文件
os.startfile(r'D:\360DrvMgrInstaller_beta.exe')
"""startfile命令里只需輸入文件的路徑即可"""
進階用法
官方解釋os.startfile函數有兩個參數
os.startfile(path[, operation])
path指的是文件路徑,有意思的是operation參數,
當 operation 未指定或指定為 'open' 時,通過擴展名相關聯的應用程序(如果有)打開文件。
當指定另一個 operation 時,它必須是一個「命令動詞」 (「command verb」),該詞指定對文件執行的操作。文檔中的常用動詞有 'print' 和 'edit' (用於文件),以及 'explore' 和 'find' (用於目錄)。
❼ Python筆記:命令行參數解析
有些時候我們需要通過命令行將參數傳遞給腳本,C語言中有個getopt()方法,python中也有個類似的租檔命令行參數解析方法getopt()。python也提供了比getopt()更簡潔的argparse方法。另外,sys模塊也可以實現簡單的參數解析,本文將對這3種命令行參數解析方法簡要介紹。
sys.argv是傳入的參數列表,sys.argv[0]是當前python腳本的名稱,sys.argv[1]表示第一個參數,以此類推。
命令行運行:
可以看到傳入的參數通過sys.argv來獲取,它就是一個參數列表。
python的getopt與C語言的的getopt()函數類似。相比於sys模塊,支持長參數和短參數,並對參數解析賦值。但它需要結合sys模塊進行參數解析,語法格式如下:
短參數為單個英文字母,如果必須賦值需要在後面加英文冒號( : ),長參數一般為字元串(相比短參數,更能說明參數含義),如果必須賦值需要在後面加等號( = )。
命令行運行:
注意:短參數(options)和長參數(long_options)不需要一一對應,可以任意順序,也可以只有短參數或者只有長參數。
argparse模塊提供了很多可以設置的參數,例如參數的默認值,幫助消息,參數的數據類型等。argparse類主要包括ArgumentParser、add_argument和parse_args三個方法。
下面介紹這三個函數的使用方法。
argparse默認提供了 -h | --help 參數:
命令行運行:
下面列出部分參數:
下面來添加參數:
命令行運行:
parse_args() 方法用於解析參數,在前面的示例代碼中使用parse_args方法來提取悄悶參數值,對於無效或者錯誤的參數會列印錯誤信息和幫助信息:
命令行運行:
本文介紹了Python的三種命令行參數解析方法sys.argv、getopt和argparse,可以根據自己的需要進行選擇,getopt和argparse兩種方法相比來說,建議選擇argparse,代碼量更少更簡潔。更詳細啟型彎的使用方法參考官方文檔:
--THE END--
❽ 用python腳本啟動有多個參數的.exe程序
import subprocess as sub
sub.check_output(['逗悶qqq.exe', '--a=「sd」', '沒指裂枯閉--b="sdfa"', '。。。'])
❾ nn_train.py: error: the following arguments are required:pycharm設置python運行參數
但是,如果python腳本設置了運行參數的話直接這樣運行時爛猜會報下列參橘啟數是需要的錯的,。
nn_train.py: error: the following arguments are required: -d/--dataset, -m/--model, -l/--label-bin, -p/--plot
點擊後出現下圖頁面,在Parameter文本框內填寫所需參數的路徑
如下圖,可以看到,設置運行參數後程序運行飢伍型正常
如下圖,可以看到,訓練開始,程序運行正確。
❿ 如何運行 帶參數sys argv的python程序
按照Python教程中的做法
編寫using_sys.py
在cmd中執行腳本
先是只執行python using_sys.py
看一下結果
然後,添加一些參數
python using_sys.py helloworld
再查看一下結果:
接下來分析一下:首先import sys是導入模塊,這就是告訴python,我們可以使用sys模塊,而sys模塊包含了與python解釋器和它的環境有關的函數
其次,當python執行import sys語句的時候,它在sys.path變數中所列目錄中尋找sys.py模塊,如果找到了這個文件,這個模塊的主塊中的語句被運行,然後這個模塊將能夠被你使用
然後,sys.argv表示sys模塊中的argv變數,實際上,sys.argv是一個字元串的列表,其包含了命令行參數的列表,即使用命令行傳遞給你的程序的參數。
特別注意:腳本的名稱總是sys.argv列表的第一個參數,而在命令行腳本後的參數是sys.argv列表中的第二個元素,而參數之間以空格區分
10
最後就是sys.path包含了輸入模塊的目錄名列表,sys.path的第一個字元串是腳本當前的路徑。
11
以上內容說明了sys.argv是干什麼的,以及其內容及意思。