Skip to content

Commit ccfcaf3

Browse files
committed
Merge branch 'master' of https://github.com/tanteng/learn-python
2 parents bb379f6 + 21cc321 commit ccfcaf3

3 files changed

Lines changed: 91 additions & 19 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# learn-python
2-
本人边学习Python3,边把一些小脚本(自己写的和网上找的)经过本机测试后然后同步到github上,供初学者下载研究,欢迎fork,也欢迎提交新的Python小脚本,特别是一些有趣好玩的小程序!
2+
本人边学习Python3,边把一些小脚本(自己写的和网上找的)经过本机测试后然后同步到github上,供初学者下载研究,欢迎fork,也欢迎提交新的Python小脚本,特别是一些有趣好玩的小程序!有什么问题可以通过Issues讨论,喜欢的话点Star或分享给别人哦!
33

4+
学习Python3记录博客:
45
http://www.tantengvip.com/category/develop/python3/

args_kwargs.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
1+
# encoding:utf-8
2+
3+
# -*- Python3可变参数 -*-
4+
5+
import webbrowser
6+
17
def alias(*args, **kwargs):
28
print('args=', args)
39
print('kwargs=', kwargs)
410

511
alias(3, 23, 3, 3,a='hello',b=3,c='C')
612

7-
'''输出
13+
"""
14+
输出:
815
args= (3, 23, 3, 3)
916
kwargs= {'b': 3, 'c': 'C', 'a': 'hello'}
10-
'''
17+
18+
小结:
19+
*args表示任何多个无名参数,它是一个tuple
20+
**kwargs表示关键字参数,它是一个dict
21+
"""
22+
23+
# 具体参考资料
24+
webbrowser.open('http://www.tantengvip.com/2015/07/python-args-kwargs/', 1)

sys_argv.py

Lines changed: 73 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,81 @@
1+
# encoding:utf-8
2+
3+
# !/usr/bin/env python
4+
5+
# -*- Python3命令行 -*-
6+
7+
import optparse
18
import sys
9+
import webbrowser
10+
11+
12+
def process_command_line(argv):
13+
"""
14+
Return a 2-tuple: (settings object, args list).
15+
`argv` is a list of arguments, or `None` for ``sys.argv[1:]``.
16+
"""
17+
if argv is None:
18+
argv = sys.argv[1:]
19+
# initialize the parser object:
20+
parser = optparse.OptionParser(
21+
formatter=optparse.TitledHelpFormatter(width=78),
22+
add_help_option=None)
23+
# define options here:
24+
parser.add_option( # customized description; put --help last
25+
'-h', '--help', action='help', help='Show this help message and exit.'
26+
)
27+
parser.add_option(
28+
'-u', '--url', action='store', dest = 'link', help='Open a link.'
29+
)
30+
parser.add_option(
31+
'-v', '--version', action='store_true', help='Show version.'
32+
)
33+
parser.add_option(
34+
'-q', '--quit', action='store_false',help='Quit'
35+
)
36+
settings, args = parser.parse_args(argv)
37+
# check number of arguments, verify values, etc.:
38+
if args:
39+
parser.error('program takes no command-line arguments; '
40+
'"%s" ignored.' % (args,))
41+
# further process settings & args if necessary
42+
return settings, args
43+
44+
def main(argv=None):
45+
settings, args = process_command_line(argv)
46+
print(settings)
47+
# application code here, like:
48+
run(settings, args)
49+
return 0 # success
50+
51+
def run(settings, args):
52+
if settings.link:
53+
webbrowser.open(settings.link, 1)
54+
55+
if settings.version:
56+
print('VERSION 1.0')
57+
258

3-
# sys.argv接收参数,第一个参数是文件名,第二个参数开始是用户输入的参数,以空格隔开
459

5-
def run1():
6-
print('I\'m action1')
60+
if __name__ == '__main__':
61+
status = main()
62+
sys.exit(status)
763

64+
"""
65+
命令行功能:
866
9-
def run2():
10-
print('I\'m action2')
67+
python sys_argv.py -h
68+
显示帮助信息
1169
70+
python sys_argv.py -v
71+
显示版本号
1272
13-
if 2 > len(sys.argv):
14-
print('none')
15-
else:
16-
action1 = sys.argv[1]
17-
action2 = sys.argv[2]
73+
python sys_argv.py -u www.163.com
74+
用默认浏览器打开你输入的网址
1875
19-
if 'run1' == action1:
20-
run1()
21-
if 'run2' == action2:
22-
run2()
23-
24-
#用法:在命令行执行脚本,python sys_argv.py run1 run2
76+
action四种参数:
77+
help 显示帮助信息
78+
store 需要参数值
79+
store_true 不需要参数值,默认True
80+
store_false 不需要参数值,默认False
81+
"""

0 commit comments

Comments
 (0)