我想创建一个像这样的Python类:
类.py
class MyClass(object):
def __init__(self, email, delay_time=0):
print email
print delay_time
if __name__ == "__main__":
a = MyClass()
email 参数是强制性的,并且应该能够包含多个值,delay_time 应该是一个可选参数。我想这样调用它:
python class.py abc@email.com abc1@email.com abc2@email.com 3600
python class.py abc@email.com abc1@email.com
我已经用 docopt 尝试过这个,但也没有运气。请提出建议。
最佳答案
尝试这个脚本
import sys
class MyClass(object):
def __init__(self, emails, delay_time=0):
for email in emails:
print email
print delay_time
if __name__ == "__main__":
if len(sys.argv)>1:
emails = sys.argv[1:-1]
delay = sys.argv[-1]
try:
delay = int(delay)
except ValueError:
emails.append(delay) #there's no delay
delay=0
a = MyClass(emails,delay_time=delay)
这是输出
$:~/dev/stack$ python class.py abc@email.com abc1@email.com abc2@email.com 3600
abc@email.com
abc1@email.com
abc2@email.com
3600
$:~/dev/stack$ python class.py abc@email.com abc1@email.com
abc@email.com
abc1@email.com
0
关于python - 如何处理python类中两个参数中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34607184/