Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
w' }' N7 P2 t/ h' v' M" K5 {* v很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。
* f4 f" l$ p. P2 [
$ m, p/ h8 Z- j) O4 Z* p我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:& Y. e9 r* @+ ?$ F+ V
4 {7 d! D- @# C! I( ]/ V1 n% K ~6 G- N. Q: d7 s( a7 g
6 r L3 q" c3 l4 T$ b: _5 ?于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
* [/ A, ?* r& s5 p# A9 H
& r' W' M( r2 ` ~' ~; p. M7 E然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。1 w+ v, M2 |0 {& x% [( P/ F
% d$ M5 Q' W W$ S1 k. Q g并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
: E# u& b% {$ U4 P5 y: K4 y [
, h, E8 R0 Z8 L8 }差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。, Q8 {& v; k& H3 I# N/ z) e
; Y/ N: [. c6 ~- f' hPython代码如下:0 I3 t2 g* ]# ]# j/ x2 j' @
( y, ?/ o$ o: g3 Q2 s( H
复制代码
) K9 k" z0 c2 \/ O3 N& K' V. Eimport os
& M3 T0 ~% q; Q( r% s3 \ cdirectory = "E:\\学习日志\\"1 f( c. q4 W3 |" G: N0 w
os.chdir(directory) # 改变当前工作目录3 \5 d- J; K& P$ j" w
cwd = os.getcwd() # 查看当前工作目录% k$ e! V1 D; f
print("--------------current working directory : " + cwd + "----------")3 m0 G9 U G2 x5 Q: Y2 m' ]4 s
' ?' A# K5 n/ d6 z, L! b! q" Y3 B
def deleteBySize(minSize):% O9 \" G+ ?$ ~
"""删除小于minSize的文件(单位:K)"""* S, j t+ e3 q! S( i ?
files = os.listdir(os.getcwd()) # 列出目录中文件
/ E u. a' L5 g. l, m: ^ for file in files:) d& ]: ?- r* m6 L1 G
## print file + " : " + str(os.path.getsize(file))
2 d6 ^- U& J+ W if os.path.getsize(file) < minSize * 1000:
. I2 T7 d: ]/ H: R! o) O6 j os.remove(file)8 H+ j) b$ X% P6 X/ O8 Z
print(file + " deleted.")# Z( x* [1 M+ `* g, b
return7 i- @# a4 R: q* C; O
8 ~9 P. q: _1 `3 ]; F4 ]7 s
def deleteNullFile():
: N# u5 ?8 D7 }2 h7 w& \( Z '''删除所有大小为0的文件'''
3 u! r9 Z8 x5 J files = os.listdir(os.getcwd()) # 列出目录中文件
4 U$ Y: b1 x3 G- B for file in files:
. u0 Z, N; C4 n if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0
, |. ~! j' i; X6 [) s2 U, ] os.remove(file)
" a1 y ^ t+ X) a5 h4 \8 X print(file + " deleted"): z8 g: A5 D" N: p4 K, m
return
# h% |4 ?; H1 x5 F- j. V0 ?2 g+ J5 D# r+ O$ b& R
def create():
$ Q! N& ~2 b# y* ^& J% b: b '''根据本地时间创建新文件,如果已存在则不创建'''
; Z6 w! W( L: J( w import time
9 t/ v7 A1 |- P2 _ #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出 \6 D, f/ W: {- r
t = time.strftime('%Y-%m-%d',time.localtime()) & h6 h7 M( i/ p2 d) L: s
suffix = ".docx"
/ ]) B1 F% l& ~1 ^# s. K newFile =os.getcwd() + "\\" + t + suffix 9 q/ M4 G. O' ]0 z P6 {% O
if not os.path.exists(newFile):
& G# Y" i. d8 k0 o' G f = open(newFile,'w')
4 C* j) o8 u1 C' u) H f.close() A4 E3 ?! \' X: j' F. d. k
print newFile + " created."
, m! f- e- c5 }" O) ]6 ]9 y2 I else:2 G7 D% G! ~9 Q1 z# x- h
print newFile + " already exist."4 I2 p5 h$ M% q
return
( P) `+ S. |! F% L. J0 I
: K# n3 l7 \5 K: l" c8 l8 Whint = '''funtion :
* e1 }! J9 M# O+ l 1 create new file7 ^2 E+ s; C8 o4 \
2 delete null file
% W2 i( D% t E( l& G 3 delete by size
* ^5 W2 _( Z+ _5 O) r0 d/ b" n" V2 o q quit\n
% m0 p& F" z3 b/ e2 L' @please input number: '''
9 I7 s) e. E9 l7 }while True:
" q( a! S+ V! Y4 M# P option = raw_input(hint)9 y/ Z/ M5 w1 o% `/ {/ |* t
if cmp(option,"1") == 0:
' ~# }) N9 V( x4 ]* s/ \6 r" ` F create()
, W( t8 r+ Y, t4 P( D elif cmp(option,"2") == 0:
0 c& ]& p. Z& X deleteNullFile()
5 E; l8 r" M" {: ^( | elif cmp(option,"3") == 0:
- I8 K8 B) u6 i4 a minSize = raw_input("minSize(K) : ")
7 t# \6 y3 O# g4 F) Q b) O deleteBySize(minSize)
, r9 |1 _. F) G elif cmp(option,"q") == 0:/ h* j' i8 H( y: ]6 M
print "quit !"
$ A5 }" o- y9 @+ R" W1 u break" A* R4 P& ?: Q$ I$ m/ f
else:
, q( u: [- \; K4 {, ~. n( R print ("disabled input. please try again...")
4 T4 ~+ c. @5 F v5 {4 Z复制代码8 d$ {; o/ W7 J3 `5 ] a5 s
5 P, H, h. c' r9 U( o2 O4 b3 D6 J p- _$ c# S; m
主要涉及到的就是一些文件操作函数和时间函数。
( P I; ]) B3 p9 T+ _1 c9 j9 h: y' r9 q$ s# E, J5 d6 {
这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
3 n. h* C3 e! |5 t |