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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2920|回复: 0

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

[复制链接]
发表于 2011-3-31 21:31:04 | 显示全部楼层 |阅读模式
Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。7 g. A4 ^6 U$ T4 O8 a
很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。& n# I3 A, J6 w/ J* p: {

" P, M& H% x% ]8 m% [0 }5 B& E/ _我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:
8 Z2 ~! q2 F# O, }
& u/ S. B+ h. K( E% g
9 T+ q8 X" S6 a
- o+ P0 A" L$ m4 Q/ ?9 ]3 k于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
) Q0 L! ~5 r7 g+ a: [6 \) G7 C5 ?4 R: A
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。+ b! F2 z/ o" z/ C9 c2 H

, k! Z: G: U9 A6 S- _1 u并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
) l6 Y6 `9 @/ Z5 x  D" z
. M$ V! w" ^' m( X+ g5 T! P差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。) k' l+ p# j( R% M; e, X/ |; w

4 ?7 J6 C& X& k8 X% H0 U7 nPython代码如下:! Y+ x* x2 ]) l+ q

3 {: U. ^0 g0 t! ^3 ]* J4 N复制代码
6 r3 j) z# j  Pimport os
& Q+ J! [; p8 B+ X# |( Q1 h/ x8 B8 gdirectory = "E:\\学习日志\\"  }. y  ^/ Y0 T' u+ u6 x: P9 r2 y
os.chdir(directory) # 改变当前工作目录
0 ?2 ]* ^' S5 N9 q/ [cwd = os.getcwd() # 查看当前工作目录
$ ]5 G; F% H- |  i! X* w( Gprint("--------------current working directory : " + cwd + "----------")
' w7 w& ~/ u/ e0 a" @6 Q% N1 O# ]8 x+ I: @+ i
def deleteBySize(minSize):' D( o' Q" n( T4 I) h3 O9 u
    """删除小于minSize的文件(单位:K)"""
: n5 D+ L8 }& j# x* [* Q* H6 j4 N    files = os.listdir(os.getcwd()) # 列出目录中文件
2 m; d0 s" u6 q: X3 L    for file in files:
5 }5 Z, ]' L. [' Y$ R9 w& `" e, x    ##    print file + " : " + str(os.path.getsize(file))
0 O3 h- `; C" [7 T4 i( Y+ w        if os.path.getsize(file) < minSize * 1000:
. w2 D1 t' M1 ]            os.remove(file)
$ e6 I4 G, e" E) m* [            print(file + " deleted.")5 @- G2 W$ {$ N* R
    return' v: I$ b: U) h3 j# m" s, W! z2 X

' n' n4 ^2 U8 a  Y5 w/ |def deleteNullFile():
* ?0 D3 i6 s$ L, B, g) k. j) M9 K+ k    '''删除所有大小为0的文件'''
8 @, c$ l; Z; {: |# v    files = os.listdir(os.getcwd()) # 列出目录中文件
* Q: @6 f$ J* ?& X, S    for file in files:& P' b* r8 I$ }; L4 K
        if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0' m. @- [0 w4 U" N2 ]7 Q
            os.remove(file)2 {2 }9 j9 ~- I' J1 O
            print(file + " deleted")% K" o6 p* M. x8 J
    return
; l) Y7 `2 E" o8 E
/ [( w% `( R: U0 `, idef create():
4 i( N2 r6 q  g) D, ?: Y    '''根据本地时间创建新文件,如果已存在则不创建'''. q# @0 D' G2 J# {; _1 T
    import time
( V0 Q  g, J2 a' L; i) I4 k" e6 G    #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
6 q5 y. E( \6 _5 Q    t = time.strftime('%Y-%m-%d',time.localtime())
' Q. ]1 e& @* J2 e& {  F    suffix = ".docx"4 {: j2 Q8 A, u! I8 T+ ?
    newFile =os.getcwd() + "\\" + t + suffix + B0 ?" F+ G$ d" I3 h5 R$ x
    if not os.path.exists(newFile):
$ M$ j( ?9 w" P$ I) G  s, B$ e: g0 H& h        f = open(newFile,'w')
% X1 ]  _: n8 \# o$ a# z  ]        f.close()
1 Y. [; d9 l' L+ U: i1 ]        print newFile + " created."" D8 f4 ^& X" D
    else:# b6 t, h9 \5 t
        print newFile + " already exist."
5 S! _7 d* R) G    return. e! i, B1 v: C
, N! s  F* O  ]3 H6 M
hint = '''funtion :
# j6 x% ]6 B" m        1    create new file
& A$ ?2 Q3 m; W5 R0 [5 t- B        2    delete null file3 F5 @" s, X9 l, C( z; r/ o
        3    delete by size
+ ~& x& A# h/ q2 [: w        q    quit\n
! k0 n+ p/ {( o1 C, R% ^' }& Hplease input number: '''
' K: `: ?2 {  c& S5 B" Z. ~4 p& D) awhile True:
' t+ c0 A( R" W" d    option = raw_input(hint)/ {3 Y; t, u' D# ^, |0 V+ `5 G3 K
    if cmp(option,"1") == 0:5 y, n! |! a5 M5 l$ v" L8 Y3 U
        create()
! I. G( J4 C# {8 W* ~1 C    elif cmp(option,"2") == 0:
( g! G' |4 }+ m6 ^9 F. E        deleteNullFile()
2 e: i. h) L  q. P    elif cmp(option,"3") == 0:3 s& E% s  a" t- D& ]9 o
        minSize = raw_input("minSize(K) : ")! B& c, P" K( r) f& Z3 n
        deleteBySize(minSize)
. ]( |7 S$ z$ }    elif cmp(option,"q") == 0:; e) u9 d4 Y1 t# d
        print "quit !"
3 M( g; f2 N; `$ Q+ ~% \) _2 b        break- w8 {' b# ~* D  t) _8 L( R7 j' R
    else:8 s& ~( Z1 _: y6 g  |
        print ("disabled input. please try again...")
) c  s- ^5 f' o1 n# d复制代码
- h+ N) P# O+ Q  Q$ A, A9 x! d1 M1 p. X4 I( T5 m6 E. s

( Z$ y- |( [* a3 G主要涉及到的就是一些文件操作函数和时间函数。
- R, s+ k( m) i" c
5 }" l% [% z" Y2 w这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
, D. b! |! Q# n" z7 s8 X
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 22:32 , Processed in 0.087025 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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