本篇博客记录cu上shell比赛的第六题:输入一个日期,然后程序打印出这个日期是这一年的第几天,然后再打印出昨天的日期是多少:
这个脚本还是十分容易的,我直接上脚本吧:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
[root@centos6 shellbisai]
# cat 6.py
#coding=utf-8
#!/usr/bin/env python
import
datetime
import
sys
def
describe():
print
"""
此脚本需要您输入一个日期,运行格式如下:
python script.py 2013-9-20
脚本会显示您输入的这一年的第几天
同时,脚本还将打印昨天是哪一天
"""
def
check():
if
len
(sys.argv) !
=
2
:
# describe()
print
"Script will be exit..."
sys.exit()
else
:
try
:
inday
=
str
(sys.argv[
1
])
#print inday
formatDay
=
datetime.datetime(
int
(inday.split(
'-'
)[
0
]),
int
(inday.split(
'-'
)[
1
]),
int
(inday.split(
'-'
)[
2
]),
0
,
0
,
0
,
0
)
resultNo
=
formatDay.timetuple().tm_yday
print
inday
+
"是这一年的第"
+
str
(resultNo)
+
"天"
except
Exception:
sys.exit()
print
"==========================="
today
=
datetime.date.today()
year
=
today.year
month
=
today.month
day
=
today.day
-
1
print
"昨天的日期是: "
+
str
(year)
+
"-"
+
str
(month)
+
"-"
+
str
(day)
if
__name__
=
=
"__main__"
:
describe()
check()
|
下面看看效果,直接上图:
效果还是不错吧,一开始脚本中没加异常处理,后来加上异常处理就可以马马虎虎了,哈哈。。
本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/1249947如需转载请自行联系原作者
world77