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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2135|回复: 0

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

[复制链接]
发表于 2011-3-31 21:31:04 | 显示全部楼层 |阅读模式
Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
, ?% Y  a7 [0 n; a! v' x! Y很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。' h. f- A6 i, D, O8 W

; t( G, A% s  K/ ]" }# `我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:' L* F( x$ T5 }$ L3 v/ U( O' M7 O" e2 o
, M# z7 ?- b) I

' ]2 X% M' u" _0 J$ g! |
) Y- {# E" f0 G' `! P, o于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
/ I$ b5 m8 \7 H" G4 j6 h( R
, n8 \0 m5 c* a1 z! Y9 t! F然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。* c6 C- P; T9 U1 `

1 ~5 F3 t# z! h; z9 p并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
3 |5 \- w/ i! G5 a; V6 Q
+ l3 {, m/ Z% ]# }  Z差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。7 H5 P; |( D' q; }3 E" F
+ }. G( _* s, a& M
Python代码如下:
. m; j5 v) }# |9 _) ^
' W" i, W3 N( H: S复制代码
5 @5 C. z7 z, R7 r$ A( F2 T6 Fimport os
4 b4 T8 r& @0 `; K+ a! hdirectory = "E:\\学习日志\\"
8 H9 L7 ~: C9 Oos.chdir(directory) # 改变当前工作目录/ ~+ z( X! j" M! Y+ F) V) B& ~
cwd = os.getcwd() # 查看当前工作目录% w5 l: Y6 z9 z* ]/ p
print("--------------current working directory : " + cwd + "----------")
* I$ r; r/ P' R# p. e: r$ p6 [# e+ ~8 X: V
def deleteBySize(minSize):
; r; Z9 M1 e# o! G    """删除小于minSize的文件(单位:K)"""
' U! @* |$ H' I5 q    files = os.listdir(os.getcwd()) # 列出目录中文件& G, b6 x5 Z0 u/ t) [2 U& f
    for file in files:% w. E; C. |* ?  v+ U4 d& J
    ##    print file + " : " + str(os.path.getsize(file))
% \6 A! K8 _9 U. R        if os.path.getsize(file) < minSize * 1000:# |. L4 T* G. h5 _, p( M
            os.remove(file)
1 d* s+ w' j8 T+ K) m. h. G' ], n            print(file + " deleted.")
7 A2 _4 D  a; Q* I8 @    return
, d2 s3 A  p& c* P! f- I, I. o/ D& i1 _
def deleteNullFile():3 F/ |' h& X. X
    '''删除所有大小为0的文件'''& `$ Z$ O% p  I$ {" p" Q, b
    files = os.listdir(os.getcwd()) # 列出目录中文件# |& y& O- s* g& G" A% H5 Q
    for file in files:  k- B0 R: G, t0 z1 ~# D
        if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0/ Q- \9 I- I5 A$ F7 W+ N9 s2 n& J
            os.remove(file)6 R! O% M: o* p- W8 Z! I* {( d! S$ C
            print(file + " deleted")2 S4 Z5 g' \: O" U5 _% W3 |6 h) I
    return6 m' b, ?' |% u' W" _6 X$ m$ \
2 i! I( F% M) J' Q) ~
def create():
7 a2 i9 m. h) |7 B* O; A    '''根据本地时间创建新文件,如果已存在则不创建'''
" j9 t+ j1 m- G; P( D' i% I( i( F# `    import time
# }* R8 c6 B% O  h9 g. ^* B5 g    #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
% a# a2 [% Y5 R0 V4 w8 ]    t = time.strftime('%Y-%m-%d',time.localtime())
9 \9 }% f7 a; C7 m& O' u    suffix = ".docx"+ i7 o  k! G0 ?: N5 b) Q
    newFile =os.getcwd() + "\\" + t + suffix 3 E: ?  ]/ m# H
    if not os.path.exists(newFile):, n  x$ `/ p+ {7 ?: b9 Y: W  N! c
        f = open(newFile,'w'), V$ ?* \* W+ s; j
        f.close()
: H( v! b) f  v+ u: G        print newFile + " created."
7 ^$ E: W5 v. N$ d    else:
+ J  Q0 R7 d& q% i4 h        print newFile + " already exist."
" z9 _) }  b( X, f- F    return
/ X% _8 f2 L% X
- x' j+ ?8 k# N0 V, @* j! Ohint = '''funtion :
, l+ o( ^0 J9 ~) J  y        1    create new file
6 |& R) n5 z; l+ s' N7 _9 j5 t5 G        2    delete null file8 F5 Z% f. K) G- a0 O
        3    delete by size: D7 h8 a1 D" @# k
        q    quit\n0 _% p4 [/ E1 m3 L' |
please input number: '''
1 Y7 R  y' d3 T0 d$ j$ C8 Rwhile True:
! y7 I' M) |3 p5 {: ^- A    option = raw_input(hint)$ R1 q) }: G" K) s8 l3 ^
    if cmp(option,"1") == 0:  f. W2 J$ G; i+ |+ g. }" S
        create()
* C6 r+ I. `" E, ]+ q    elif cmp(option,"2") == 0:+ }. r8 ~0 t. U$ m( ?5 b2 V
        deleteNullFile()# u, N4 c8 u; w$ A2 k, T; c
    elif cmp(option,"3") == 0:- O9 q- l9 Q5 A$ b1 G9 S" O
        minSize = raw_input("minSize(K) : ")
; a# p+ y- d* s( u- }3 C        deleteBySize(minSize)& |7 y; Q1 G8 ~/ t+ c! x9 M
    elif cmp(option,"q") == 0:0 F" J+ Q- f5 K- e! I
        print "quit !"
4 ?! T1 J* H+ J        break6 }) z6 C! M  Y
    else:
7 w6 f6 w' f2 ?3 @        print ("disabled input. please try again...")
+ @1 F/ N, Q/ W# H复制代码
: |* r: S7 e0 K0 n8 Z  Q6 f, m1 R: m  C4 r3 j- }  \7 l
  k6 D. h. J5 N) @* x3 m, p/ l: G
主要涉及到的就是一些文件操作函数和时间函数。
# `* [: H5 S3 c: S6 B8 Q7 ~3 O2 t4 ]! u" o. J
这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
7 B8 F" o9 |' f) |) W. F% ]/ a: X
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 04:00 , Processed in 0.162460 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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