华强北电脑城 龙岗电子世界 龙华电脑城  凯尔电脑

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2915|回复: 0

Python创建删除文件-----------我的第一个Python脚本

[复制链接]
发表于 2011-3-31 21:31:04 | 显示全部楼层 |阅读模式
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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|华强北 电脑城 龙岗电子世界 龙华电脑城 pc4g.com ( 粤ICP备16039863号 )

GMT+8, 2025-6-17 18:14 , Processed in 0.092771 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表