Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
) u% p- p3 v, p( c, e很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。
* Z' j% p {3 M6 `+ V6 h; [
1 P) Z+ Z! n% l0 k2 r我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:
y- V, _1 t: d9 ~
. p# V0 L' v6 D0 r' C4 O
; }+ Y' J$ \; n0 C
. F0 g; t8 v h% ^0 P) R于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。0 M* n" \# L) t' \1 S
7 k! F" @) t1 ?0 n3 ?- [ u9 M
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。1 C1 {' C( F* U$ o$ z
) _* M2 l2 E5 J/ c; T并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。# l4 {$ |0 b5 z! C7 J$ |
, M; w& t: \$ d5 |9 @! e* w; s0 o; U差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。
+ x8 v8 I) ~8 `/ U+ w( f" Z* b d* s7 B* b9 c0 R8 o
Python代码如下:
+ d, U- y2 t0 |" }
: y9 N6 y7 C9 T& d: x% Q复制代码$ U% b/ m6 @* S1 [6 I
import os. ]' N4 e2 o4 r) ~
directory = "E:\\学习日志\\"
( n: G7 @3 l9 ^9 O' V7 gos.chdir(directory) # 改变当前工作目录
! h0 U4 W2 y! `$ ycwd = os.getcwd() # 查看当前工作目录5 b; ?: q$ q" d n8 ]) O: M; u
print("--------------current working directory : " + cwd + "----------")& r0 `" p! x7 B9 a7 C7 k" B" k
7 Q a5 Z' q9 }( ~( z3 n) u
def deleteBySize(minSize):4 w- f7 [8 M4 f- W4 y
"""删除小于minSize的文件(单位:K)"""& [* o: c; S& ?
files = os.listdir(os.getcwd()) # 列出目录中文件4 M6 O1 }' h) i+ p
for file in files:
9 V# t" p: Z+ U# H( _ ## print file + " : " + str(os.path.getsize(file))
$ n* Q& `1 g0 p6 D' A if os.path.getsize(file) < minSize * 1000:
% f3 C# D; e( k2 E8 }8 @$ o os.remove(file); T9 y) M3 {- L+ C v$ |) f
print(file + " deleted.")
1 k" k* C% z) V( V$ e0 G return6 }% c8 ]. Z1 @$ X* C* n
1 z8 G% h+ g* i
def deleteNullFile():
' v: {& z9 Y) M' K. w+ \% w2 N, [ '''删除所有大小为0的文件'''
* p9 i- f/ H: d& v- L9 Z files = os.listdir(os.getcwd()) # 列出目录中文件
0 r$ m+ y6 w% E, K' X% C* p for file in files:
, c3 }- I( r* a- e8 V4 R$ B! J( @) _ if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回07 y! U" H8 y7 y$ W- p$ e
os.remove(file)
1 B3 c( B6 L, X% Q. b/ U4 Q print(file + " deleted")
( m: i9 j2 N% F& N/ H' ~6 F return- N0 j3 t' ?2 \! @% E v
+ O Y$ u5 D3 k K1 ]; ^ D6 Z
def create():
; Z1 o$ X, d d$ x, D1 @ '''根据本地时间创建新文件,如果已存在则不创建'''
* _+ I. N8 D" E( b% Z import time9 F- g7 [" t! {0 j. H9 I" r( y
#将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出- [& ]; B+ Z7 a
t = time.strftime('%Y-%m-%d',time.localtime()) 1 a" ~& F$ l4 C# {* N
suffix = ".docx"
- J L7 |7 R$ d7 J1 H0 P1 q newFile =os.getcwd() + "\\" + t + suffix
3 i' R' v6 F5 s if not os.path.exists(newFile):
# z1 k7 F4 T- C8 O% u f = open(newFile,'w')
6 C1 S! @8 U+ |. r3 e f.close()$ V7 m/ {( S. U9 L* N$ ]6 G
print newFile + " created."# L4 R a4 G, I& N0 J( f
else:
$ D' d4 b, E. P+ V R0 O# } print newFile + " already exist."1 M1 m/ ?% C+ t6 D! L: k# t
return1 R. ?1 ^4 a6 i1 ^) T8 u
8 X1 A/ f7 ^3 _( K
hint = '''funtion : / b+ `0 a7 h& ^$ ]8 q
1 create new file: N# l" _& Y' j: z/ L3 o
2 delete null file
" u) o% }+ q% |7 S: ^ 3 delete by size
\, u. g+ o G( g3 r. l% R q quit\n
2 r( U! i; A& G6 M" b( w: G5 Cplease input number: '''
5 H7 o* \- ?3 p: {% S0 Ywhile True:& |% W- k8 d+ V/ J* }
option = raw_input(hint)1 P J0 M) I! _ Y
if cmp(option,"1") == 0:) l7 }$ B. `+ A, E
create()
* s; f. n+ x, M0 C: a elif cmp(option,"2") == 0:$ s: v' |% A( o: ]; w0 l
deleteNullFile(): K7 m* r7 q8 i& H1 \0 d
elif cmp(option,"3") == 0:
& ^8 O) O# X8 K4 X) z, y ~ minSize = raw_input("minSize(K) : ")
' n+ M ^" K- M0 Q deleteBySize(minSize)
$ b9 u, k1 c2 C ?, d7 W8 x elif cmp(option,"q") == 0:
5 S" G: r v. Q* @! K3 C7 c; j" Z print "quit !"
8 J: J$ \6 s( k break- \7 S& i( r9 M5 `( w @2 l
else:
9 s- m/ \6 W0 W+ o print ("disabled input. please try again...")
6 P1 Q0 R' C i' B. L& j# f! Q* A复制代码
6 _) O% [& |5 D! i4 a+ X& k/ I. B, d. f3 s: V) q
; D" V2 Z( L& c& G+ A1 k! M; d- i主要涉及到的就是一些文件操作函数和时间函数。
% Q4 X: t) f) ~
& w' {. G H; r: D这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
4 A8 q( w9 V9 B1 V) y, F! ? |