Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
4 i X, `# H ^, m {9 j4 @4 A( T/ d4 z很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。
; y1 g9 t; f6 o3 J* Z( ]) B2 R
2 a" }7 k7 I$ n r7 d我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:# q6 r8 w' D- z' G
. w1 T7 Y7 }3 _' ?+ m; U2 ]* K
9 G6 \0 |9 l$ y$ G1 M. ]
5 D+ X. [$ r5 _8 G& O' W于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
8 _3 S4 D8 `& b. q0 q9 p$ k/ p
" c% I* k' c+ n! z F然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。
+ T4 X: ]- Y! P) e7 z$ m# x: t% @( I4 @2 ]) A- m3 m
并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。; N' Z2 k( @$ L1 H2 Y' a
6 ^, n8 H; f6 i: X
差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。
6 t5 J- x5 s/ A* d* N9 ?8 P9 p- R" j! g W
Python代码如下:$ ]- c4 b5 l8 \. T8 A& x; O# g4 X
6 E1 f! E) L9 |9 f复制代码
3 M6 k" ^, j* i1 m$ ^import os
& J1 a @ N- L% Ldirectory = "E:\\学习日志\\"
: ]. O4 F' D8 ios.chdir(directory) # 改变当前工作目录
% U) n( Q1 d( k8 P. q9 p" g" l- _4 acwd = os.getcwd() # 查看当前工作目录) a; K: m P. `8 O. x K" H
print("--------------current working directory : " + cwd + "----------")
. L& d( c, I: h1 ]( E6 u+ D4 ~* \2 M' o
def deleteBySize(minSize):# x8 ]0 i& x" b$ P+ C+ [
"""删除小于minSize的文件(单位:K)"""
# {8 C- }' T }6 U# J9 p files = os.listdir(os.getcwd()) # 列出目录中文件) S* @6 `- V" ?! c0 R8 z
for file in files:, }+ P* @+ n( J+ W1 S) C& L
## print file + " : " + str(os.path.getsize(file))
+ A7 U1 y/ D% `7 _" h; U$ ~ if os.path.getsize(file) < minSize * 1000:5 [6 v2 w4 E& F4 z
os.remove(file)0 ?$ c1 H2 ^/ b2 C( N. i7 k, n
print(file + " deleted.")
9 X- D! q' z a2 Y return2 S M8 {1 V$ q; P
* k7 C8 v ?, `1 E; ~def deleteNullFile():
0 ?& q. G2 r U '''删除所有大小为0的文件'''$ K* T( W7 D1 F& E
files = os.listdir(os.getcwd()) # 列出目录中文件6 ~1 l3 v, V) M- ^. B4 H# d
for file in files:+ R. D3 V1 N# m4 t0 |! `: v; ~2 d
if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0, x/ m. w2 A% W3 ?4 g+ S R
os.remove(file)
?# o% z3 }! r1 l8 n print(file + " deleted"): I& c8 {$ \$ ~: k' Y
return
% d% H/ _! J; T& j: e/ J/ l3 l) D/ M4 T. B+ C, Q
def create():
* [" s8 i% j) C6 P/ Z% \- I '''根据本地时间创建新文件,如果已存在则不创建'''- g1 @% Y8 `' f1 ]0 K
import time& F h) l2 E1 G z
#将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出0 I2 B$ f, i9 H
t = time.strftime('%Y-%m-%d',time.localtime())
3 h9 F0 F7 E* \' c; A! y suffix = ".docx"
3 e" v1 r F# J$ M* ` | newFile =os.getcwd() + "\\" + t + suffix 1 U6 O+ l, |6 i
if not os.path.exists(newFile):
$ W* \+ G/ g$ N f = open(newFile,'w')
* F- h1 H+ m( s6 Y) y; m. s ~* H f.close()
2 Z8 ]* x& B0 s. U print newFile + " created."8 [$ | H; R9 G& l9 y; i
else:
5 l: m0 f7 w/ S9 Q. H T1 R2 d print newFile + " already exist."
+ H5 B5 G6 r2 N% T P8 X& b' Z return0 Q' X7 C% |5 l2 g
9 f6 V( ]6 f& x1 R5 O8 Zhint = '''funtion : 7 W1 Q' l2 ]% @2 p9 A1 ~
1 create new file
5 D+ _3 u! E$ G% p$ J3 x( P" P+ E( b 2 delete null file/ P3 r$ [% z5 Z2 m* u0 @ u5 [; p
3 delete by size
2 ^' s. j0 k; r9 v/ [7 _9 @, v, c/ s q quit\n6 P* b% A& W4 t6 F a
please input number: ''', P# O3 F; q5 W ]. Z$ Z
while True:
) z& o" X/ O. j& z2 B option = raw_input(hint)) w$ {2 e- s7 ^+ m
if cmp(option,"1") == 0:
& v: O* R$ T0 b7 ~ create()$ f: \! d; |8 K; r7 v+ D
elif cmp(option,"2") == 0:9 p5 z% h7 G. u
deleteNullFile()
9 R O5 Y1 {3 P1 M elif cmp(option,"3") == 0:
8 T* n% T# g, o* N minSize = raw_input("minSize(K) : ")/ |4 ?/ w$ N5 M% G
deleteBySize(minSize), ^; B5 z; { L. C: K
elif cmp(option,"q") == 0:
0 H: h# Z8 L" d/ B9 ] print "quit !"
0 G1 ^$ n' ^1 _ break
. h0 R7 \. I$ q& r/ V) c8 o else:: U% b# P. E# p3 C
print ("disabled input. please try again...")8 i4 _# I# h: \1 V
复制代码
# v0 M/ Y4 ~- n) b8 ?' U0 D$ K
[: `$ t- W! ^% o' J v" j7 b% B" Z0 h2 J
主要涉及到的就是一些文件操作函数和时间函数。8 l% q9 o2 n) c+ ]; i U& \
! T! i+ C; n! J7 L0 h9 q4 ]
这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
& x+ E' U. p+ n |