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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2913|回复: 0

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

[复制链接]
发表于 2011-3-31 21:31:04 | 显示全部楼层 |阅读模式
Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。; z/ F1 o- i; {" `% J/ ~
很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。
) ^- Y4 J# Z1 t7 P& a! E: Y& Z: Q6 V, w+ D
我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:6 N. Y; v" t8 [) i

% T+ u4 J; P0 M- m6 ?" P$ _, U0 q4 l9 `3 S0 y" V" x
% S' a6 X3 M& |9 E' F. @
于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。6 a1 o' v: S6 H$ \9 o
# [- B* E; V& O4 @% Q
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。
1 s7 P8 L8 D6 x
/ c. t+ O% w: p( ]. E% i* ]* n并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
9 r3 b7 j6 f. B0 d  _1 Z( N' c, L1 k7 L( m6 M
差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。
# w* ?8 [# V3 o0 g' V% N% F3 D3 p0 w1 P4 B: N0 p) O
Python代码如下:
+ P3 r5 \5 p' {* U2 ]& j9 F  Z& K
# P9 z5 }/ k7 l) h' i; `# t& z/ u6 l复制代码' p8 m7 M4 u; b: Y
import os* z; ]" D) H& \# j% [
directory = "E:\\学习日志\\"
0 D6 A9 d+ r" d# y" s* u2 ^; g5 p& j* mos.chdir(directory) # 改变当前工作目录
; I+ H- P( X' P: d- e4 qcwd = os.getcwd() # 查看当前工作目录
0 u1 c! r/ P  W2 u# V  V; kprint("--------------current working directory : " + cwd + "----------")
& ?- ?1 w  }6 R) y2 Q; p9 E0 o0 J6 z  \. U( K% `
def deleteBySize(minSize):" H) `9 G' a& u
    """删除小于minSize的文件(单位:K)"""
  s: o2 R  M& `4 k* _    files = os.listdir(os.getcwd()) # 列出目录中文件$ V8 `2 Q) @5 I
    for file in files:" N0 O! K. {# \( j* w
    ##    print file + " : " + str(os.path.getsize(file))
# x" _4 i% M6 X5 T) e        if os.path.getsize(file) < minSize * 1000:
3 ]. n- b* P: }' C" J! N9 i0 g            os.remove(file)
- i( ^6 k* |& O# I1 ^6 q            print(file + " deleted.")* n) e2 M( l# b
    return: j; Z; L0 o. ^2 Y6 r

3 H  V$ l7 C) O( Vdef deleteNullFile():
' B1 X! ^% k& x" f! i    '''删除所有大小为0的文件'''; Q8 N9 g# M, M" ?3 ]0 ^
    files = os.listdir(os.getcwd()) # 列出目录中文件8 _+ k! R' ?6 G0 ~! o! n+ Y$ {% o" m
    for file in files:, W2 ]( ~( n" [; L9 X% b' t
        if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0$ k/ b5 a; ^# B! u/ C; o
            os.remove(file)
6 `3 w6 n5 P5 G' U/ V  G            print(file + " deleted")" f4 f/ @7 i. w* e: w9 W# Z
    return
9 {) }* n+ d# N' b0 E0 k  t( r
4 E! Q5 x' c8 Q, [; h' \  Odef create():6 t9 \' D  Y# i; b1 T- e
    '''根据本地时间创建新文件,如果已存在则不创建'''& E: Q0 b1 s, R
    import time/ a$ M5 @" e( p. V3 ~( t' @5 x  N6 |
    #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
; s* {8 p4 D9 f0 J' r2 ^$ E    t = time.strftime('%Y-%m-%d',time.localtime())
6 S1 p* L  ~% w2 |* i9 c    suffix = ".docx"
; U2 r2 @9 X, |, O7 ?6 {9 T    newFile =os.getcwd() + "\\" + t + suffix
3 J0 O! [" M5 k! F+ Q, O    if not os.path.exists(newFile):
8 R) G) L- @2 N1 b" K* `        f = open(newFile,'w')" Q( j5 a+ R5 ~% E
        f.close()6 K- d" q! w1 A( a: r. U
        print newFile + " created."
& W# f$ w0 f4 d% E8 j. r6 b9 N( C    else:
( D* e4 d* w7 D7 @9 L- I1 P; _        print newFile + " already exist."
9 y' r" ?* K+ u; D% y    return
  [( I" w6 y" E& x# z1 m
" O( k3 W, b' w- m* v7 C6 @+ [hint = '''funtion :
; s& J: S/ i" v: |$ z# T* P# q        1    create new file6 C: S4 c, L' q" j: Q
        2    delete null file) P6 M3 F2 z; u1 S, Q" a  c+ {5 N
        3    delete by size
. i2 R* r3 I! R, O$ |& q+ B1 w        q    quit\n
( y; k0 f/ l7 d' u9 dplease input number: '''
& x  o; D; ?$ k. ^while True:
0 s5 T7 R% I% l+ E$ E( H0 ^& M    option = raw_input(hint)
4 j) ~. @# Z. x2 X, ^    if cmp(option,"1") == 0:
4 _2 B5 s4 V& a3 O        create()) z/ y2 X2 @3 |# J
    elif cmp(option,"2") == 0:+ H, m6 q3 z  L
        deleteNullFile()' q( O* @- c$ z
    elif cmp(option,"3") == 0:
4 O; g9 Q) c( i' [. B- ~        minSize = raw_input("minSize(K) : ")
5 y" f' |4 d( Q9 L( j+ W; N        deleteBySize(minSize)
5 ^1 ~: i) g$ q$ d  s4 l- W    elif cmp(option,"q") == 0:. D1 W5 L  W. {2 t7 ^& J+ S" `2 H
        print "quit !"( b: Q9 [9 u" D1 L
        break
8 r" R, q8 B1 U' E6 V    else:9 _' \6 j( V, K) d" c9 H/ Q
        print ("disabled input. please try again...")5 }% i6 q1 e+ d
复制代码
0 n4 q, ]9 w. A" e  m4 S& Y2 b1 I# Q8 _: [( d0 R. ~1 k% f
2 H" l  F6 R7 r
主要涉及到的就是一些文件操作函数和时间函数。
8 \! e5 K- o# L& ^! O
7 R; V+ `5 J. N5 j6 ^. T: ^这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
, v/ n% H- W8 l9 E2 D  f
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 13:11 , Processed in 0.104540 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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