Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
# `* K& B0 |. a$ x. \4 ]很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。* \6 S) q* W+ p
4 J3 r: j1 ? [7 r3 z我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:8 D/ l. `- w8 g0 _8 v
9 Q/ G/ L7 }$ Y8 r
{% }! d" w; n' p
w3 p3 L/ F2 s- j" X- d于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。4 r; T( ~- i! w3 }5 J% G
, ?0 z8 v2 D- n* U. _, `然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。/ G7 r8 W8 V7 s( w$ K f8 p+ ]
" \# m! g2 P2 g并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
* ~: v2 R3 R9 `) A5 L4 T' O3 v+ r4 g# N& E& T$ o+ p5 ^- b7 ?" o' A; j
差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。( m) `" z0 f- Q. W. p
. V4 S/ ~$ y/ G/ M1 Z( ?& z2 `/ d/ ]
Python代码如下:
T( u! F5 Q( U* R- }9 t
/ r1 l: M5 ?1 R: T/ u复制代码
* B7 d7 i7 @7 \! cimport os
- O/ v* ~' H) E* Cdirectory = "E:\\学习日志\\"2 I; T {7 j3 c7 x+ |) f7 P
os.chdir(directory) # 改变当前工作目录* a6 m% ^$ n Q/ ~# L/ Q" x) O6 K
cwd = os.getcwd() # 查看当前工作目录1 ?4 r$ }' w8 T D9 }1 N
print("--------------current working directory : " + cwd + "----------")% s z& I$ ?0 D t
: q2 ?$ X/ O( s* s8 Q; ? V8 ydef deleteBySize(minSize):
5 I# W* J- u/ V """删除小于minSize的文件(单位:K)"""9 m* c7 ~$ y; i$ Z: ]
files = os.listdir(os.getcwd()) # 列出目录中文件7 ~- x f; n2 u1 d
for file in files:
3 J: z6 M6 n( ^! k" H ## print file + " : " + str(os.path.getsize(file))
2 _9 K& }" t0 ~# f if os.path.getsize(file) < minSize * 1000:
% J; N/ T9 q* D# i0 v) W. E os.remove(file)8 F/ O: s1 }0 ^5 c9 l
print(file + " deleted.")( ?% E0 y% H$ d& m+ I' M, h
return; M" {) Q+ Y% S" m+ s4 E% Y" S
% O/ U3 X2 W$ o4 u( L$ Jdef deleteNullFile():: g! x: h- ~# y
'''删除所有大小为0的文件'''
7 [* G" t- X/ T* U5 d) Z5 U" p files = os.listdir(os.getcwd()) # 列出目录中文件
& c, K7 p: d1 _& C! k- f for file in files:5 U$ t0 W( I' S' H! E! n1 h1 u
if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回07 z- y! p6 U" U2 r$ V) _- ^& G
os.remove(file)6 g/ }, f* A* \, o0 M }+ V
print(file + " deleted")% i1 m4 i o7 o; Q I- Y9 h
return6 t9 |4 d. r% b1 N2 p
1 v( ]0 R9 X8 [0 @. ldef create():
" N6 `9 w" p; A% u$ h '''根据本地时间创建新文件,如果已存在则不创建'''( o3 \+ M! q' K: Y, ]
import time6 E7 f2 t& {5 G7 Q
#将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
% O' F0 s3 e$ Y t = time.strftime('%Y-%m-%d',time.localtime()) ( Q7 P/ D$ ]2 H8 P# J" f- j
suffix = ".docx"
. P! h8 j) B$ h newFile =os.getcwd() + "\\" + t + suffix 7 p2 f8 D- C; z. @+ f
if not os.path.exists(newFile):
0 F$ N+ h. h; ]3 O/ G N f = open(newFile,'w')
' Y8 V! z1 d& `* E8 _4 P5 q' Y f.close()
& a; Z& h k: a print newFile + " created."
# ^6 V! \# q$ P# B7 d% s' l else:
+ L* C6 }4 h$ n6 S& W" \ print newFile + " already exist.". y! ~) v* s0 ?2 A1 h$ f6 e- L; d
return' Y7 b$ t8 e; d& j+ L9 @2 T) q
- w- Y( n2 _6 y7 @
hint = '''funtion :
0 S7 x9 V1 F }0 ? 1 create new file
& U5 B* V" I) S 2 delete null file
6 [7 n( N/ q- Y$ ?; [% R 3 delete by size
3 Z4 A5 r* o/ x q quit\n3 V" d/ d4 y; h1 L
please input number: ''') e) N+ o$ D7 Y% h( @( h3 e
while True:
4 \8 v* A3 Y: i& o" S8 Y option = raw_input(hint)
/ P. B, b, |% w# _! s: _8 Q if cmp(option,"1") == 0:
/ v q$ k: v- \+ T+ c create()
+ l4 z) N) ]# f, r3 ?# j elif cmp(option,"2") == 0:
H' ^6 A% O' N deleteNullFile()4 w8 t4 T& w$ P5 I5 S# q
elif cmp(option,"3") == 0:
3 q! z$ C: N3 Y, K minSize = raw_input("minSize(K) : ")
( d7 H+ s5 ]: X& y* h deleteBySize(minSize)9 |2 M8 Y) g) S0 L8 ~
elif cmp(option,"q") == 0:
0 t* i4 r0 Q" w print "quit !"
3 y1 r! m" u& r) ~9 B break
5 n- t7 N. u2 \% G, V' F, q else:% e2 @" c% a) V5 W
print ("disabled input. please try again...")
- n0 x2 S) u0 m+ x+ Y复制代码
& U4 H7 D/ D/ J: _) a- P9 m( _6 H' p3 y' i
8 [( Z2 I( \, F" A* p主要涉及到的就是一些文件操作函数和时间函数。
# [8 l) o* _/ o6 O$ V1 z3 d6 M, ^* G/ b! Y; ?7 ? ]
这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
( F. y# Z# \, D+ o4 N( z1 Q |