python輸入參數
Ⅰ python中,raw_input()函數的輸入,能否作為argv的參數
Q: I can』t combineargvwithraw_input().
A: Don』t over think it. Just slap two lines at the end of this script that usesraw_input()to get something and then print it. From that, start playing with more ways to use both in the same script.
-----FromLearn Python the Hard Way, 3rd Edition
【答案翻譯~轉】別想太多了。在腳本結尾加兩行raw_input()隨便讀取點用戶輸入就行了,然後再慢慢在腳本中玩玩這兩個東東。
Ⅱ 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怎麼傳入參數
需要模塊:sys
參數個數:len(sys.argv)
腳本名: sys.argv[0]
參數1: sys.argv[1]
參數2: sys.argv[2]
Ⅳ python 如何根據輸入參數調用不同的函數
#Python3.x
deffunc():
c=input("PleaseEnteraChar:")
while(True):
ifc=='a':
func_a()
break;
ifc=='b':
func_b()
break;
func()
Ⅳ python cmd 傳入參數
python包含一個"argparse"的模塊,提供了異常強大的參數解析功能。下面是一個簡單的例子#!/usr/bin/envpython#coding:utf-8#importsysimportargparseif__name__=="__main__":parser=argparse.ArgumentParser(description='')parser.add_argument('integers',metavar='int',nargs='+',type=int,help='anintegertobesummed')parser.add_argument('--log',default=sys.stdout,type=argparse.FileType('w'),help='')args=parser.parse_args()args.log.write('%s\n'%sum(args.integers))args.log.close()$./test2.py123456728$./test2.py633132765$
Ⅵ python2.7 怎麼解析命令行輸入的中文參數
本文實例講述了python讀取命令行參數的方法。分享給大家供大家參考。具體分析如下:
如果想對python腳本傳參數,python中對應的argc, argv(c語言的命令行參數)是什麼呢?
需要模塊:sys
參數個數:len(sys.argv)
腳本名: sys.argv[0]
參數1: sys.argv[1]
參數2: sys.argv[2]
test.py:
import sys
print "腳本名:", sys.argv[0]
for i in range(1, len(sys.argv)):
print "參數", i, sys.argv[i]
>>>python test.py hello world
腳本名:test.py
參數 1 hello
參數 2 world
python中使用命令行選項:
例如我們需要一個convert.py腳本。它的作用是處理一個文件,並將處理後的結果輸出到另一個文件中。
要求該腳本滿足以下條件:
1.通過-i -o選項來區別參數是輸入文件還是輸出文件.
>>> python convert.py -i inputfile -o outputfile
2.當不知道convert.py需要哪些參數時,用-h列印出幫助信息
>>> python convert.py -h
getopt函數原形:
getopt.getopt(args, options[, long_options])
convert.py:
import sys, getopt
opts, args = getopt.getopt(sys.argv[1:], "hi:o:")
input_file=""
output_file=""
for op, value in opts:
if op == "-i":
input_file = value
elif op == "-o":
output_file = value
elif op == "-h":
usage()
sys.exit()
代碼解釋:
a) sys.argv[1:]為要處理的參數列表,sys.argv[0]為腳本名,所以用sys.argv[1:]過濾掉腳本名。
b) "hi:o:": 當一個選項只是表示開關狀態時,即後面不帶附加參數時,在分析串中寫入選項字元。當選項後面是帶一個附加參數時,在分析串中寫入選項字元同時後面加一個":"號。所以"hi:o:"就表示"h"是一個開關選項;"i:"和"o:"則表示後面應該帶一個參數。
c) 調用getopt函數。函數返回兩個列表:opts和args。opts為分析出的格式信息。args為不屬於格式信息的剩餘的命令行參數。opts是一個兩元組的列表。每個元素為:(選項串,附加參數)。如果沒有附加參數則為空串''。
getopt函數的第三個參數[, long_options]為可選的長選項參數,上面例子中的都為短選項(如-i -o)
長選項格式舉例:
--version
--file=error.txt
讓一個腳本同時支持短選項和長選項
getopt.getopt(sys.argv[1:], "hi:o:", ["version", "file="])
希望本文所述對大家的Python程序設計有所幫助。
Ⅶ python 中函數接受在運行中輸入的參數么
M = raw_input("M=?")
即使你輸入一個數字,最終得到的M任然是一個字元串。比如,你輸入:1,最終M=『1』
需要你把M強制轉換成int。或者在print那裡面把%d換成%s。
Ⅷ Python程序如何使用參數
用sys模塊,使用sys.argv接收參數,sys.argv是一個列表,第2個元素開始是傳遞進來的值,傳遞的時候用空格割開就好
import sys
for x in sys.argv:
....print(x)
Ⅸ python傳入參數的問題
python在定義函數的時候,存在兩種特殊定義,*和**的傳值方式,正是因為這兩種定義,python 函數的傳值,非常靈活,在cpp編程的時候,不支持方法重載,因為沒必要了。。。
在參數前面加個*號,表明這個函數會將這個變數代表的內容,轉換為一個元祖,所以函數可以接收N個元素,這N個元素在函數裡面轉成一個元祖。比如這種
deffun1(*a):#定義
print(a)#1輸出
print(*a)#2輸出
x=[1,2,3]
fun1(x)#1調用
fun1(*x)#2調用
fun(1,2,3)#3調用
因為fun1定義的時候,告訴函數,x可以接受N個對象,這個對象在函數裡面會轉成一個元祖保存,所以在1調用的時候,x在fun1函數裡面會被當成一個元祖,但我們知道,x其實是一個元祖,1調用的時候,就傳了一個對象進去。所以,結果如下
([1,2,3],) #1輸出
[1,2,3] #2輸出
為啥?1輸出,清楚無誤的告訴print(print也是函數,也支持*args方式傳值),你直接把a對象列印出來,a對象是啥?一個包含1個對象的元祖,所以就是(x,)這樣的結果。那2輸出呢?2輸出在調用的時候,在a對象前面已經拆解了元祖,所以,傳給print函數的,是一個對象,就是x了。
同理,在2調用的時候,因為x對象被拆開,所以,func1被傳入多個值,此時的a是一個元素和x相同的元祖。所以2調用的1輸出,就是一個值,就是(1,2,3)。2輸出,因為被拆解了再傳給print,所以,print其實被傳入了多個值,然後將這些值全部列印出來,所以結果是1,2,3.
那3調用呢?其實本質和2調用是一樣的
那雙星號呢?雙星號是拆解key-val格式對的內容,在函數定義的時候,是默認講傳入的產生轉為字典。而規律和上面說的單星號一致。如果用單星號去拆解key-val對象,只會拆解出key。後面的就不多說了。
為啥單引號拆解key-val對象,可以拆出key呢。。。源代碼就這么執行的,為啥當初設計,理由是啥。。。不清楚。。
Ⅹ python 獲取輸入參數
可以使用input()函數
也可以使用raw_input()函數。
舉例如下:
>>> x = input("x: ")
x: 34
>>> y = input("y: ")
y: 42
>>> print x * y
1428