Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
# I8 E, U3 {: {- K/ v6 M很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。! L0 E# Q( b, ^% B7 ?: b, {
$ |3 K# M! d3 S2 |我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:
$ K) Q+ e* v# g4 X) d
+ \7 Z2 u4 p' `. m3 n& A' ]. E
- \8 g2 u7 X2 G; G" m
$ V' c* }, V2 ?3 ?于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
5 }" @ I) O# j5 I5 j/ m
' ], F. a/ B2 o6 q% A$ q7 A然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。
% z0 Z2 {' ?! U+ u
& G2 T/ u/ T8 }" @# ]5 Z4 b并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。7 o, V% E! n. a0 ~& {
- P0 X" e. ^' X X9 j. {# \) B6 S
差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。' R* M: {' K% _( B! W
) E" f; p! y' g E" O- m3 t8 h
Python代码如下:2 y" F3 C- j+ [% J4 R) |. c
) N! }9 @" H/ U' ^( ~% o5 A复制代码9 F% [4 n# j7 g; n W/ I: l
import os Y7 n% ]( F# @; b
directory = "E:\\学习日志\\"
7 G2 a$ c8 `7 L a" Q6 N# Dos.chdir(directory) # 改变当前工作目录
; B0 v2 A" V, qcwd = os.getcwd() # 查看当前工作目录9 A. \! [; `( j( x1 b T
print("--------------current working directory : " + cwd + "----------")
. q0 N' y( U1 h) d8 C6 c
& }, ^6 `7 h4 W# Pdef deleteBySize(minSize):
% Z0 W# u/ p8 U3 ?0 w( Z1 T4 s+ h """删除小于minSize的文件(单位:K)"""
8 @; ^1 X. m$ E" }/ M files = os.listdir(os.getcwd()) # 列出目录中文件
9 m7 ]8 q% @' G: j" a for file in files:7 d5 ?+ D O% a% w
## print file + " : " + str(os.path.getsize(file))
1 d% `& Y3 P: Y1 L" V7 \ if os.path.getsize(file) < minSize * 1000:
& T& a' ^1 m Y2 m& E4 O os.remove(file). Z% e& {$ v; n ^1 O
print(file + " deleted.")1 ~% D9 Z5 v% C& q6 p P
return% p( m$ L1 j1 [, T8 E
3 M% i+ K0 M) m* Y$ I7 }( y
def deleteNullFile():
5 y; Z7 z+ O7 ^3 x5 f- f' ?) \ '''删除所有大小为0的文件'''
2 H+ x# M" ]( U9 T" G" c& N files = os.listdir(os.getcwd()) # 列出目录中文件: W* Y4 f% e0 _
for file in files:, |# b/ g |% e, d
if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0" |* d& n% r1 K0 n
os.remove(file)+ B# r3 j% E, J) w$ q
print(file + " deleted"); U, h) Z' Y7 Y) j4 ]9 ?: ?/ t1 G. v
return3 N+ w9 N6 E$ t& X
y' {8 }, m* o# Z& z# k( Idef create():$ t! Z8 p5 q/ z1 f1 s( X/ G" U8 h
'''根据本地时间创建新文件,如果已存在则不创建'''
/ `' r2 L$ w" u& O" X& J6 |2 u import time3 W. r! d! i& h2 y3 p2 i
#将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出7 h1 A0 C4 q' D$ X/ f5 {
t = time.strftime('%Y-%m-%d',time.localtime())
/ ?# Y5 @5 F& X7 r, p9 P2 ~3 N suffix = ".docx"1 f" s) Z2 L" F. x2 T: l
newFile =os.getcwd() + "\\" + t + suffix 1 b5 o5 [+ K F" Y
if not os.path.exists(newFile):
& B4 u; c. x6 x4 R9 P f = open(newFile,'w')
! B" ~: i2 f( ]! o5 ? o f.close()- e. }9 n: \3 V& d0 j
print newFile + " created."3 f5 e. ], y! l+ k
else:5 [ g6 h6 h9 h0 I
print newFile + " already exist.") I. e$ Z) l& h( o. D
return5 x. I# M$ j9 `3 g0 G. e' l8 H/ d
& D9 X w; H. I0 B$ l) ehint = '''funtion : ' K0 i& O% \9 q+ ^6 H+ v; T8 D
1 create new file
' ]4 H: U6 v7 D$ l, L7 m+ S 2 delete null file
& K( i, C8 R: [+ G! g8 D6 P6 ~ 3 delete by size: M/ m" n8 `) h8 e
q quit\n3 B8 a- ]" B9 e' e- `. K5 L. ]4 B
please input number: '''/ j, o* c! ~9 Y0 E
while True:' [ }8 B3 a2 E7 }# T
option = raw_input(hint)
- v" Q% G2 Y* B- M0 \+ v if cmp(option,"1") == 0:
; o, ~3 K3 {) ?9 \' T% U& c create()4 n1 T- M4 N' J C
elif cmp(option,"2") == 0:) i8 x' T+ Q% U
deleteNullFile()
' S8 m5 }; S# ?5 l- P7 M elif cmp(option,"3") == 0:# M$ m6 K2 s" P
minSize = raw_input("minSize(K) : ")
: `( m4 P) z! o9 A9 o C8 f$ T deleteBySize(minSize)
$ n. l: f h! S! T5 I elif cmp(option,"q") == 0:* L9 x2 k( q8 X& X3 R0 o
print "quit !"
# L5 F6 j! X1 g5 k6 t6 A) L break# ?% R1 x' S2 w/ h8 Y/ r. e
else:
( U2 F9 j3 z$ q6 S2 Y print ("disabled input. please try again...")
& h" S% I1 ~: W% W0 u3 _复制代码
' S/ r* W5 F2 L6 F+ Q: H
' K# q; Y- g9 D6 u1 W, s
$ E8 |+ h6 v' B3 ]主要涉及到的就是一些文件操作函数和时间函数。
& C+ {, Z: i! N! |5 Y1 K Y
# |/ g/ p! c$ W, o这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
b1 i+ d: H, p" Y) m |