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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2923|回复: 0

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

[复制链接]
发表于 2011-3-31 21:31:04 | 显示全部楼层 |阅读模式
Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。$ _4 J7 R- K" }! L
很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。+ \( ^4 }* j$ V: E3 O/ Q9 _

( D5 V0 [" E" U- ~1 q! V我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:2 t3 Q* A$ f' v
( b# V5 v/ V5 I" _- c9 ]% K1 L4 `
7 ^" Q0 t! O+ p9 D  Z2 I9 R
; [: F: Z/ l5 w  \  r
于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
9 i3 l+ ]; W* _) P/ g3 W  l" [4 I, [1 p6 K' E
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。
' z+ k- y7 ], ]2 b9 i9 p# X" L: K( y1 v
# w+ J! U! A+ T) f% @! v! T并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
) T" w' R9 Y& B. G" N% ?: a8 J7 g( D/ S  Y1 S7 _
差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。
9 R) |5 F( Y& E* Q
$ j9 q- f! q6 D& D: uPython代码如下:
9 s0 _/ n! F  {: `. V2 P
$ j5 q% c  a) ?3 Z+ @; ]2 F2 M0 i复制代码4 E2 X, U' g2 O* @; k+ }
import os
8 D+ }% M1 ~, P9 ^+ R5 {  ~directory = "E:\\学习日志\\"
# ~& [- g6 }1 q1 D( I6 ]os.chdir(directory) # 改变当前工作目录# Z) M6 a) O5 J6 h
cwd = os.getcwd() # 查看当前工作目录4 k" Y3 `. G3 ^! Z+ b' I6 d
print("--------------current working directory : " + cwd + "----------"); |0 Q1 M# p% K  W

& g2 T+ @) ~" u5 L- Y2 Kdef deleteBySize(minSize):' g0 a% y: [  O# A$ U+ J/ w
    """删除小于minSize的文件(单位:K)"""  S" G9 n% W2 E
    files = os.listdir(os.getcwd()) # 列出目录中文件2 d! P8 i5 n* R2 y$ R4 q6 h
    for file in files:
2 k7 K  w0 E0 p    ##    print file + " : " + str(os.path.getsize(file))/ o& ?  Z2 \2 _9 z* F
        if os.path.getsize(file) < minSize * 1000:
, b, g7 w% e4 ~2 G8 V            os.remove(file)9 S! H& m8 v2 L; r
            print(file + " deleted.")
6 b1 m$ b# f1 W& n/ y7 w    return
  N5 Q) A6 c$ y7 j! b! t7 u) H; V
# `& i; a* |) i7 Zdef deleteNullFile():6 w% Z) j9 E+ A! E3 O8 n: x
    '''删除所有大小为0的文件''') C+ [3 F4 C2 H8 m5 v
    files = os.listdir(os.getcwd()) # 列出目录中文件1 I% y- |! Q5 b  H9 u3 m
    for file in files:
; }" @7 L) P9 Y( u& ~        if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0
/ O+ L% `6 S$ ?) _8 E' ^% |, C            os.remove(file)4 h( t( N/ i7 K* p+ _
            print(file + " deleted")8 Q/ T- m( T+ b4 ?1 Y
    return
$ c/ ]# a& Z# T2 x8 c. d& Z5 v8 Y3 [# \/ H* c9 p: T
def create():
! }8 r* p; M- n! H3 A/ T3 U    '''根据本地时间创建新文件,如果已存在则不创建'''# j0 _7 X' J8 c
    import time
! a4 m# Z8 I) ]5 F' j# |; E$ _    #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出4 ~( R1 F& b/ o; H
    t = time.strftime('%Y-%m-%d',time.localtime()) 4 m; v; N! ~6 v* t5 N! d
    suffix = ".docx"
& u$ ~, w- ]# u$ ]9 h6 o    newFile =os.getcwd() + "\\" + t + suffix 0 |. f( C1 P0 f, F
    if not os.path.exists(newFile):
3 h6 D2 T! p3 c6 d- c        f = open(newFile,'w')
9 x& t" ^; U2 ]        f.close()
5 b  }! T+ N3 |$ I$ l7 |" q        print newFile + " created."
4 z5 ~3 {9 M& O    else:' a1 k+ f( [7 x
        print newFile + " already exist."
5 _# ?( |; c+ N- F! x" X0 x    return
/ _2 [0 q/ c' S( x. X  Z* y
0 L9 z4 b- P5 d8 Q# P$ E( v2 l; qhint = '''funtion :
! r" E- i! P; p5 k3 W, [        1    create new file
$ R" f) _% d0 M5 S5 y. o4 S        2    delete null file5 h* Y: }. d% @2 A6 q
        3    delete by size
- a. N% O8 H, F7 j3 R) p        q    quit\n1 N- P2 _0 a6 q# l+ n, K3 X7 T; Z
please input number: '''
: i. X0 `4 q$ \* K) Z, z- Hwhile True:
; m6 C( U8 t2 `3 P0 l# Z! ]; @    option = raw_input(hint)5 p% C( u# g" B! c0 \. C( d
    if cmp(option,"1") == 0:
6 r2 D6 T, w' I3 _2 E4 T& l: ]        create()
% i' R, ?7 n3 B% X7 `5 l2 H( ^    elif cmp(option,"2") == 0:. u4 [6 P6 P: j* e  G$ u- W- L" c
        deleteNullFile()/ O; d: y- B3 h( ]
    elif cmp(option,"3") == 0:2 @- c" j! h! N& A1 `
        minSize = raw_input("minSize(K) : ")
1 O4 P: t2 `) [        deleteBySize(minSize)8 Y5 \( [4 Z* \; l7 E  F& j
    elif cmp(option,"q") == 0:0 |6 q. a! Q2 T; }. g# n; l$ L6 O
        print "quit !"
; i' f) Z; ?$ K7 W# }. C1 }4 A        break! ?& U1 K! R5 ]1 K2 T2 w
    else:
4 h+ o1 X4 N" {7 r6 |        print ("disabled input. please try again...")3 V# v) F1 h! I  R
复制代码7 j+ t8 l- M, t7 F' n# k8 G8 g

6 g$ O) ?2 D+ l. i6 @$ o+ d/ ?' L$ s2 }5 }3 i9 ]) U* j
主要涉及到的就是一些文件操作函数和时间函数。
+ c# M. O$ f& I1 ?) @6 D& o4 m* |! Z9 x
这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?! Y& F& S+ j! Y# Y
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-20 04:40 , Processed in 0.089077 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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