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是干什么的,以及其内容及意思。