Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。7 g. A4 ^6 U$ T4 O8 a
很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。& n# I3 A, J6 w/ J* p: {
" P, M& H% x% ]8 m% [0 }5 B& E/ _我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:
8 Z2 ~! q2 F# O, }
& u/ S. B+ h. K( E% g
9 T+ q8 X" S6 a
- o+ P0 A" L$ m4 Q/ ?9 ]3 k于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
) Q0 L! ~5 r7 g+ a: [6 \) G7 C5 ?4 R: A
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。+ b! F2 z/ o" z/ C9 c2 H
, k! Z: G: U9 A6 S- _1 u并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
) l6 Y6 `9 @/ Z5 x D" z
. M$ V! w" ^' m( X+ g5 T! P差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。) k' l+ p# j( R% M; e, X/ |; w
4 ?7 J6 C& X& k8 X% H0 U7 nPython代码如下:! Y+ x* x2 ]) l+ q
3 {: U. ^0 g0 t! ^3 ]* J4 N复制代码
6 r3 j) z# j Pimport os
& Q+ J! [; p8 B+ X# |( Q1 h/ x8 B8 gdirectory = "E:\\学习日志\\" }. y ^/ Y0 T' u+ u6 x: P9 r2 y
os.chdir(directory) # 改变当前工作目录
0 ?2 ]* ^' S5 N9 q/ [cwd = os.getcwd() # 查看当前工作目录
$ ]5 G; F% H- | i! X* w( Gprint("--------------current working directory : " + cwd + "----------")
' w7 w& ~/ u/ e0 a" @6 Q% N1 O# ]8 x+ I: @+ i
def deleteBySize(minSize):' D( o' Q" n( T4 I) h3 O9 u
"""删除小于minSize的文件(单位:K)"""
: n5 D+ L8 }& j# x* [* Q* H6 j4 N files = os.listdir(os.getcwd()) # 列出目录中文件
2 m; d0 s" u6 q: X3 L for file in files:
5 }5 Z, ]' L. [' Y$ R9 w& `" e, x ## print file + " : " + str(os.path.getsize(file))
0 O3 h- `; C" [7 T4 i( Y+ w if os.path.getsize(file) < minSize * 1000:
. w2 D1 t' M1 ] os.remove(file)
$ e6 I4 G, e" E) m* [ print(file + " deleted.")5 @- G2 W$ {$ N* R
return' v: I$ b: U) h3 j# m" s, W! z2 X
' n' n4 ^2 U8 a Y5 w/ |def deleteNullFile():
* ?0 D3 i6 s$ L, B, g) k. j) M9 K+ k '''删除所有大小为0的文件'''
8 @, c$ l; Z; {: |# v files = os.listdir(os.getcwd()) # 列出目录中文件
* Q: @6 f$ J* ?& X, S for file in files:& P' b* r8 I$ }; L4 K
if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0' m. @- [0 w4 U" N2 ]7 Q
os.remove(file)2 {2 }9 j9 ~- I' J1 O
print(file + " deleted")% K" o6 p* M. x8 J
return
; l) Y7 `2 E" o8 E
/ [( w% `( R: U0 `, idef create():
4 i( N2 r6 q g) D, ?: Y '''根据本地时间创建新文件,如果已存在则不创建'''. q# @0 D' G2 J# {; _1 T
import time
( V0 Q g, J2 a' L; i) I4 k" e6 G #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
6 q5 y. E( \6 _5 Q t = time.strftime('%Y-%m-%d',time.localtime())
' Q. ]1 e& @* J2 e& { F suffix = ".docx"4 {: j2 Q8 A, u! I8 T+ ?
newFile =os.getcwd() + "\\" + t + suffix + B0 ?" F+ G$ d" I3 h5 R$ x
if not os.path.exists(newFile):
$ M$ j( ?9 w" P$ I) G s, B$ e: g0 H& h f = open(newFile,'w')
% X1 ] _: n8 \# o$ a# z ] f.close()
1 Y. [; d9 l' L+ U: i1 ] print newFile + " created."" D8 f4 ^& X" D
else:# b6 t, h9 \5 t
print newFile + " already exist."
5 S! _7 d* R) G return. e! i, B1 v: C
, N! s F* O ]3 H6 M
hint = '''funtion :
# j6 x% ]6 B" m 1 create new file
& A$ ?2 Q3 m; W5 R0 [5 t- B 2 delete null file3 F5 @" s, X9 l, C( z; r/ o
3 delete by size
+ ~& x& A# h/ q2 [: w q quit\n
! k0 n+ p/ {( o1 C, R% ^' }& Hplease input number: '''
' K: `: ?2 { c& S5 B" Z. ~4 p& D) awhile True:
' t+ c0 A( R" W" d option = raw_input(hint)/ {3 Y; t, u' D# ^, |0 V+ `5 G3 K
if cmp(option,"1") == 0:5 y, n! |! a5 M5 l$ v" L8 Y3 U
create()
! I. G( J4 C# {8 W* ~1 C elif cmp(option,"2") == 0:
( g! G' |4 }+ m6 ^9 F. E deleteNullFile()
2 e: i. h) L q. P elif cmp(option,"3") == 0:3 s& E% s a" t- D& ]9 o
minSize = raw_input("minSize(K) : ")! B& c, P" K( r) f& Z3 n
deleteBySize(minSize)
. ]( |7 S$ z$ } elif cmp(option,"q") == 0:; e) u9 d4 Y1 t# d
print "quit !"
3 M( g; f2 N; `$ Q+ ~% \) _2 b break- w8 {' b# ~* D t) _8 L( R7 j' R
else:8 s& ~( Z1 _: y6 g |
print ("disabled input. please try again...")
) c s- ^5 f' o1 n# d复制代码
- h+ N) P# O+ Q Q$ A, A9 x! d1 M1 p. X4 I( T5 m6 E. s
( Z$ y- |( [* a3 G主要涉及到的就是一些文件操作函数和时间函数。
- R, s+ k( m) i" c
5 }" l% [% z" Y2 w这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
, D. b! |! Q# n" z7 s8 X |