Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
& N, e6 C/ Q' v7 s# l$ D: y很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。
9 w5 A0 `: F" z8 `6 W i9 X' u# e8 q! T( D4 W, @
我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:( J1 P5 R3 Y N$ b$ h7 e/ v2 J
* F1 Q0 f: m# u
' k# A' V* u* D9 A
1 k& X% H2 c V) I$ L
于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
6 `8 n! k8 [( F0 E A; W/ m* V8 S/ O$ i6 \: u& l
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。- A. i6 Q( d/ P8 r
2 E) w3 O5 p" j& M$ ^& s" u- x并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
/ n! G" ^) e- U6 A+ }. L
- y0 n& `3 `; c+ f* S3 `6 O差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。) c9 j0 ~7 t# k$ w5 a' I
/ B, T! e4 t& A$ q3 A4 BPython代码如下:' s, X% {# o2 [3 i% ~8 H2 X$ K' B1 S
/ R. g1 |4 a( H9 y0 C复制代码* o; ~2 Q Y# w$ i6 V
import os
4 ]* @/ [! b1 M$ _* y, Pdirectory = "E:\\学习日志\\"6 t8 U- H% @- p3 m$ t. I! A
os.chdir(directory) # 改变当前工作目录! t' p' [ [( U$ D7 z3 X* P
cwd = os.getcwd() # 查看当前工作目录3 K. P3 e9 E- M
print("--------------current working directory : " + cwd + "----------")
6 v( c1 j8 ]% t( `4 n. ^7 i5 T# t6 S' z# S8 R' h1 A
def deleteBySize(minSize):2 U! L t2 _3 y! [/ @
"""删除小于minSize的文件(单位:K)"""/ ~) Y6 a. r/ F9 ~2 s, }
files = os.listdir(os.getcwd()) # 列出目录中文件( ] Y" z3 f# r5 n9 N
for file in files:
) E7 Q) q5 n$ N4 X7 I; \: [ ## print file + " : " + str(os.path.getsize(file))
0 d {9 J7 c# g, { if os.path.getsize(file) < minSize * 1000:& _; w* T0 f, H& |1 g X/ I5 b& Q
os.remove(file)
; R) d- x1 T3 J \ print(file + " deleted.")
, S. b: C8 P( w/ Y1 n return* r" f2 N4 l, e
& q/ ^$ G9 f/ J6 C! ?# C, K% }def deleteNullFile():
6 F& z! E, B7 N% H '''删除所有大小为0的文件'''" u+ }5 j( C2 c. q
files = os.listdir(os.getcwd()) # 列出目录中文件; e; w9 e2 ~. X, y) Q6 C# H7 m
for file in files:
9 P# {' S2 T* w if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0, x6 o0 I- i7 v8 S# Q% H: M4 G, N/ R
os.remove(file)
7 v+ C/ D# D( J4 R4 _ ?( \$ u print(file + " deleted")
/ m6 a% B- B) X" k | return4 J3 H9 d+ y6 I' X. N; E
( _* @+ r( H+ s! [
def create():% f- O, e; t6 _5 ~+ [4 H1 J
'''根据本地时间创建新文件,如果已存在则不创建'''' X5 A# K1 e; }4 m3 X3 I( T
import time
! M& o1 I9 Y5 y6 T #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
) p7 s6 k5 C4 f/ k# S) a t = time.strftime('%Y-%m-%d',time.localtime()) + b' T. D F0 l& w- R X
suffix = ".docx") l) o0 }) f7 }! v, }
newFile =os.getcwd() + "\\" + t + suffix
9 F2 U4 s | H: p8 J if not os.path.exists(newFile):
: ^: l9 Y) J% K: B" N$ T/ D f = open(newFile,'w'), \4 p; M2 L( n c3 { P
f.close()
/ T' ~% d! K s+ _/ t) `) q5 s- R print newFile + " created."8 `3 V) P& C8 w1 v# y6 i( I
else:1 ~" m& c5 m x; H
print newFile + " already exist."
/ Z) G0 z- r; `4 D return
1 A& K( n' x! {2 @6 ^" T. [) E6 k, t* _, {, k+ N
hint = '''funtion :
" E, Z8 b- E6 s& j6 M9 m0 T 1 create new file$ ] D! M$ O: H' M8 H
2 delete null file
. ?+ f; q2 M6 ?, ]* i- y$ N 3 delete by size- X l& t" M* z( g" D: T
q quit\n
Q3 _" M- D( O6 Q/ ^please input number: '''
! F- i* Y0 N# y" Y/ A" S; O5 Xwhile True:
5 \ F4 n' i$ d5 R; b& n option = raw_input(hint)9 A" ^& m+ i: B* Z
if cmp(option,"1") == 0:" {/ W! V$ ^+ N* ]% P
create()
/ U- T; O- K- u. {' { elif cmp(option,"2") == 0:6 m! ^4 s/ f) a6 z4 R
deleteNullFile()- G& A4 X3 n1 m4 v, y
elif cmp(option,"3") == 0:1 W8 ]" M( p( V7 ^
minSize = raw_input("minSize(K) : ")
4 _0 z' r% {; k, q2 X% o. U8 K deleteBySize(minSize)! @! P% c4 h9 l0 y" Z8 k4 n
elif cmp(option,"q") == 0:
1 G% N5 K4 y7 X9 x print "quit !") C) g0 s2 C0 Y
break) t3 m) E0 j# ^0 P" c+ p
else:
! S7 s/ v. x; p2 O: @ print ("disabled input. please try again...")" V% d$ A* |5 l/ T' o1 B
复制代码0 }; J k; Z9 D3 A
3 }5 O7 c. z1 s W$ Q) ~- Q
. P' W$ D7 O% J Z* A9 ]+ x主要涉及到的就是一些文件操作函数和时间函数。) h. f& P5 f6 w9 x2 Z" J1 O
" I! c2 m! H& ^3 {这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?: k8 o4 D% L& |& ^6 K
|