Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。% n9 V( p0 U7 n( ?! C: |7 p4 _
很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。 o: x; k) H) Y3 `, A3 C3 d. i
5 [$ E) J: i- `. g ?我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:
$ Z8 L+ w8 h& Z7 C5 R. n
! g* n, s/ c& J- j' b. m4 @- }4 M' }1 C( s8 L. T
9 ~. x8 W. ^) D/ ^3 x于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。* c# I2 o* G5 @" h
0 J* R5 b7 C# p# ~) r4 R7 T然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。* B& r3 g8 i: s6 b7 h5 Z
" F7 r/ x; Y5 ]6 f* I! ^( K3 u并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。 g+ J: X+ v* e1 ^' }5 Z( n) k
2 ?" j6 h# v( f
差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。
) W. U, v! e7 r# T5 K$ X/ M: ~
$ G& v: x/ T- Z& x& t& ~# BPython代码如下:* G$ g) R8 ]$ U+ F: r* }
) c: X% E d6 i, l复制代码
+ I" O/ _" Z: dimport os; A* o# o3 v7 j1 S
directory = "E:\\学习日志\\"
5 f8 O4 n3 z2 z; Aos.chdir(directory) # 改变当前工作目录
+ }( u ^, J u2 E9 ~6 qcwd = os.getcwd() # 查看当前工作目录
0 D* g0 e& c* r- i" p# z8 A; _. q+ qprint("--------------current working directory : " + cwd + "----------")
* ?) N7 H+ |4 W; Q+ L6 P, E6 O1 [* p' W Z2 M' b; _2 w: ?/ u/ |: j0 `
def deleteBySize(minSize):5 p, [% Y* o+ R. z- g+ o* I- h
"""删除小于minSize的文件(单位:K)"""- D! g1 l/ ` A6 [& D% z4 G
files = os.listdir(os.getcwd()) # 列出目录中文件
5 ]4 _' f+ a5 X; [2 k1 f. ^9 Y/ b T# U for file in files:
0 v& C2 i7 Z0 i: ~ ## print file + " : " + str(os.path.getsize(file))* S6 l4 U9 z! r% ^7 Y! e, R
if os.path.getsize(file) < minSize * 1000:
: [) }; q4 D% w! b! Q: u os.remove(file)9 L' p; A( u% z# O: |+ S$ ^
print(file + " deleted.")
: n2 E% g" c; Z return: Y1 F) w& z4 f+ f' S
7 `/ }: p0 M$ B+ ^" Z
def deleteNullFile():
( H) R6 n, R: v# l0 u '''删除所有大小为0的文件'''4 ^7 A4 X, y/ U2 a6 o; e" }
files = os.listdir(os.getcwd()) # 列出目录中文件
# w: t1 } [/ ^. | for file in files:. J# T0 i. y6 f$ C" ~
if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0) F4 n7 L" R# F5 n" F
os.remove(file)
% }8 {; V: ]8 {! q1 E print(file + " deleted")+ P- v2 x! S$ L. ]; _
return9 b- j) |1 |: z4 K; K. F# X
5 p7 ?" S5 ?) K" tdef create():
8 L. q# A) t; X9 }0 k5 D/ { '''根据本地时间创建新文件,如果已存在则不创建'''" e1 Y" m9 O4 k" M6 `" i
import time. l$ {3 V5 z5 Z; {- P
#将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
0 u/ s: c- ^2 q t = time.strftime('%Y-%m-%d',time.localtime())
( I- P- I' V. {" ^2 K suffix = ".docx"; d8 P) s) N; L! f: g5 ?
newFile =os.getcwd() + "\\" + t + suffix 0 p/ C, F. J1 N: j! ^
if not os.path.exists(newFile):
7 L7 _( `) G3 U/ f$ S; g0 r f = open(newFile,'w')
: D+ f' l6 y+ x$ C8 Q" X f.close()0 G' J( e$ P7 {7 ?8 Q6 b( ~
print newFile + " created."
& A0 ?- X, x+ \ else:
" l6 J' s+ t( Q- J a9 c4 g print newFile + " already exist."6 X: b& W. O+ M
return6 G7 ?( i, }# c: j/ K4 f8 n9 [
7 d$ b7 W5 `* b. a2 B1 f, s
hint = '''funtion :
+ B* w: f1 K3 R1 l* v L* Y5 `& l 1 create new file9 |9 I- o: w& C0 J: v, d
2 delete null file
3 n6 z) W% n; \) X! J* }7 Q. f 3 delete by size
, W+ O3 D& P2 g/ a, z( g q quit\n
% B6 l3 ^. F. `$ g9 @please input number: '''# c+ Y# t# y. k G1 T% V5 ^& N' K
while True:
) z1 f, D5 I. \# w option = raw_input(hint)5 w3 |2 p* q% t
if cmp(option,"1") == 0:
) d$ N% S$ ?; A create()
/ m' F& K% C' B! E- a z4 W4 @ elif cmp(option,"2") == 0:$ m& b) z, q# x. Y6 O2 [8 R: n
deleteNullFile()
^( X8 U! h) L% C) F elif cmp(option,"3") == 0:$ h L# k( _3 q) P5 q
minSize = raw_input("minSize(K) : ")
; g q6 l; u& g5 y9 @ |4 p deleteBySize(minSize)
/ i( ]) H1 @; E4 t. ? elif cmp(option,"q") == 0:: _. M" l' U7 u
print "quit !"
4 b: n8 F( ?2 \8 k* L break p% ?. H) ~9 j, P5 t1 Q; e
else:
: t/ J, D- K! p2 O9 p) [& X print ("disabled input. please try again...")
; T1 C. W4 ?' e* J- I复制代码- U* m- i' O0 @" f
, K. }# }% K. Z; Y, V' Z
8 m$ R) A" p- p4 Q6 }0 j主要涉及到的就是一些文件操作函数和时间函数。
3 i" U: e. |) k
9 h8 q, }$ t g. l: a" ^这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
5 _' G8 P- A& ^+ y |