Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
; g$ X- d& X6 Q7 e8 B% D很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。 F- }# I0 [! s
( @& A4 u, R. _% W1 X9 L# h3 F我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:' ^- Q0 \5 N5 T# M! @$ x, H) [
! B# L h7 f7 o7 ^
: Q& O5 a6 [" N
7 B! n6 \! `1 V" G ~ I于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。% @# `) o. \7 Z* S
) F; y. R. C- a
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。
Z+ j; q* }* b8 x$ l
/ a3 ~+ \# U: r并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。5 p5 O) i- p# ^, x
7 ?% X# _; e+ {! a- A
差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。: ]: e4 o5 C! i! i: Q! V
5 ]0 ?% @& p& n, }; z FPython代码如下:
k8 b! a, H8 P) F/ k
, o# \3 n+ l: k复制代码
# r5 k8 `2 |5 simport os5 @/ y) q: ]1 _( c. R- K/ ?
directory = "E:\\学习日志\\"2 W8 s* B* m" b
os.chdir(directory) # 改变当前工作目录; F* T2 H- |& G2 ]; v8 e7 D
cwd = os.getcwd() # 查看当前工作目录/ X, E5 u4 q, {) [; q: Y
print("--------------current working directory : " + cwd + "----------")4 |5 `6 J- v2 A" ^
1 o0 r5 d2 Y6 I; k7 g4 p+ J. G
def deleteBySize(minSize):
- `; E" r& d, g """删除小于minSize的文件(单位:K)"""
0 P1 g* l; }, G/ |# A2 T/ ^: r. c files = os.listdir(os.getcwd()) # 列出目录中文件
) _5 B) `2 _) z for file in files:
8 o0 i m$ q S) B2 a ## print file + " : " + str(os.path.getsize(file))$ g# {8 y& g3 `/ x, R! `
if os.path.getsize(file) < minSize * 1000:
" E) O, l" K" c3 Y" ] os.remove(file)0 V9 s- E# `& s3 c% D0 }6 D
print(file + " deleted.")
( L( g# s, |3 v1 t: O- u return
- X* O! V( I" ?$ P1 T+ s7 a* h- P0 ~
def deleteNullFile():
) v3 W* l' _% g& b3 v" v2 v '''删除所有大小为0的文件'''6 e- r/ P& t) b! {+ L
files = os.listdir(os.getcwd()) # 列出目录中文件
( \+ A& r1 n( T) l for file in files:5 q, F$ y/ f6 f) T1 F) p- X. V4 m4 [9 T# |
if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0
: P3 e. S9 G0 _" z os.remove(file)! M4 m8 u" ?& E, T( v6 @; r0 b9 ?
print(file + " deleted") z' o% K9 O- C: Z" C+ O. |
return
+ [' D- ^7 Q8 a# }
0 Q( T7 K9 }; K0 E. F% g0 p5 ^4 bdef create():" l9 v; C: l6 ]
'''根据本地时间创建新文件,如果已存在则不创建'''
. {" t& X( K$ \* T0 Q1 K import time
+ o3 p( c7 |- w/ F #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
, `' L+ A7 w0 V c2 V* p t = time.strftime('%Y-%m-%d',time.localtime())
2 e/ t$ z3 v- C suffix = ".docx"' Y. e6 z/ L5 x. M
newFile =os.getcwd() + "\\" + t + suffix 2 B/ _1 N, \$ ?' ^" a5 Q8 J. E
if not os.path.exists(newFile):
, }- s' t! D% T5 T* l g: M f = open(newFile,'w'), w/ X2 G2 ^0 o- ?0 D! K
f.close()& u- q( H6 z% g4 g. H
print newFile + " created."
: u( r' g+ y" j1 C else:
4 z8 L. A8 T2 L/ D4 s! e print newFile + " already exist."7 q3 M+ \2 _5 K( j5 K' R2 Y. f; s
return- _' U# S0 O, ]4 V/ e# @
( |. U$ n2 j7 q& Z3 ~5 {
hint = '''funtion : 0 } ^9 t" R0 {0 N6 [- Q
1 create new file, f- j y2 G+ Z
2 delete null file
' g( X) |% i. U; F. Z 3 delete by size H$ x6 Y: c# P; V- e! K k
q quit\n
& ]$ x6 C' Q( Y$ V; hplease input number: '''
: l& Y3 w2 n7 [# \4 \- awhile True:
# b1 d( l: H3 B. y0 p* c7 g option = raw_input(hint)( g7 Q$ l/ r" F1 d! w
if cmp(option,"1") == 0:
) w! ~ i3 j# Y( q v6 K3 n3 f create()6 i9 v( I2 q8 F0 X6 w% ?
elif cmp(option,"2") == 0:% y7 R8 b3 L2 h" A* ^ v
deleteNullFile()
0 B! t" l4 _) w4 V elif cmp(option,"3") == 0:
% {; d8 P9 G" P+ S; m minSize = raw_input("minSize(K) : ")
, r" x1 R* U: M8 j* u" u deleteBySize(minSize)
5 P! y7 p3 A; f6 I/ t$ l* ~ elif cmp(option,"q") == 0:9 j, S' T1 l( `6 G7 ^+ C1 e
print "quit !"8 I2 D; C0 ?6 n, L
break: B, I6 @+ B" k
else:
2 d9 Y3 ~& P3 ^2 Z. ~$ [ print ("disabled input. please try again...")
. L9 U5 b( J2 p: Q9 n, B1 }& O复制代码
5 f8 {" D/ o, k4 K+ H9 I% D* _
& D4 u- a i2 Q9 w7 N% G" f$ j0 V, v; y! H ~& k, D( m& H
主要涉及到的就是一些文件操作函数和时间函数。, ]# I4 ^. L1 O! i
2 I' U1 ]: z0 ?# c# @( T
这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?; W5 F. S" F( k$ S
|