找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3123|回复: 0

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

[复制链接]
发表于 2011-3-31 21:31:04 | 显示全部楼层 |阅读模式
Python相对C++和Java来说,是解释性语言,非常适合来编写脚本。
: ]' W& V0 Q% C8 @  G很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作。
* ?- ^) X! P8 F) z% v/ c$ h  E! r
* T, b+ w8 X+ ^# F! Z我平时学习的时候喜欢新建一个word文档来记笔记,并以当天的日期来命名。就像是酱紫:
% I  u6 h" F( H$ T; D7 C9 t# q% Q' \$ Y+ ?% p
' _8 @8 ?/ b+ {) C2 n5 C- I

: ^6 q1 G. b1 Q: i于是我每天都得苦逼的先看看今天是几月几号,然后新建一个word文档,然后小心翼翼的打上2014-04-15之类的名字。虽然也并不多麻烦,但是还得经过脑子来想一想。
  f- m1 {2 @6 U" X, l$ ]0 |* {1 F0 Y0 t8 f, O7 I0 G
然后我写了一个自动根据当天的时间来创建对应命名的word文档的函数。
& r* V( ], v& x" ]) `5 y/ h  |
. o) p$ M; g/ K# }; ^- G2 ?并且有时候新建了一个文档,到了一天结束的时候发现也没写任何东西,于是一个空文档就放在那了,等空文档积累多了,一个一个删除也稍显麻烦,所以我又写了个自动删除目录下的空文档的函数。
6 U/ `/ @) Z/ a; J( y; y
1 u' w" }/ w1 d9 u& l: A差不多这样子,我还加了个根据指定最小文件大小删除文件的方法。
# b2 Z* K- c+ O* I
, @( ~  H  W0 i! WPython代码如下:2 f, [% P2 l) q2 @

+ ~; H% @0 @' b& k. r复制代码6 M( }0 v3 T1 e( L
import os: B1 m- }* N) Y4 U9 Z* M& {7 E2 \- o
directory = "E:\\学习日志\\". R0 }- ~# x, G
os.chdir(directory) # 改变当前工作目录+ @- \  D2 F$ N
cwd = os.getcwd() # 查看当前工作目录
/ }$ l' u* I( z  d: V/ L) v, ~print("--------------current working directory : " + cwd + "----------")
1 e# ^$ r5 h# ]/ ]
' c. i$ |6 U8 G( N7 Tdef deleteBySize(minSize):
  x& c4 m0 c% S2 W    """删除小于minSize的文件(单位:K)"""1 n& ^" {& {/ k, g7 G
    files = os.listdir(os.getcwd()) # 列出目录中文件$ i5 ^4 I8 t$ [' @& h- S4 U) t" [0 y% M
    for file in files:
$ y0 u6 @" ^& D( ^# ~    ##    print file + " : " + str(os.path.getsize(file)); M. R  S- Y4 x+ a
        if os.path.getsize(file) < minSize * 1000:
; s: y) k! e8 o) O- l7 |            os.remove(file)1 m4 J: Y9 d$ t: W. c! @
            print(file + " deleted.")9 p& h! ^1 i' g8 ?6 j0 _
    return$ y9 v: g  w# f* f; b- L/ s
+ E8 P' p5 O  \* T( d5 {0 g
def deleteNullFile():
9 R9 r. }/ C) N, v8 T    '''删除所有大小为0的文件'''
# I8 Y% w+ b1 m    files = os.listdir(os.getcwd()) # 列出目录中文件' ]; q9 ^0 r- k
    for file in files:. ?: N' c0 w( c& v& g/ p
        if os.path.getsize(file) == 0: #得到文件大小,如果是目录返回0
( Q0 p5 l, r5 S6 w# C3 N            os.remove(file)
4 U: f+ h6 \) Z& Y( H6 l" S            print(file + " deleted"). @- W5 H2 _  A6 t6 k
    return0 `" s1 e5 t, y& H) [7 Y1 b' b9 `) `
; O! A8 S6 y5 q7 a
def create():1 l6 N0 g( O- o! h, b
    '''根据本地时间创建新文件,如果已存在则不创建'''
: u6 |! w# X1 n    import time
/ Z: w- ^! ?3 n2 s7 R  t9 w" L    #将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
9 w  ^- @8 V8 b  H& Q# N    t = time.strftime('%Y-%m-%d',time.localtime())
( O9 H& H* u/ r    suffix = ".docx"; M) F! {  d$ G/ e, K. l
    newFile =os.getcwd() + "\\" + t + suffix
3 [$ x/ x4 i0 |, I& K    if not os.path.exists(newFile):
! ?: m+ T  f  c  l5 g/ h& @# \) W& `        f = open(newFile,'w')0 U5 q( x! J1 h4 ~4 k
        f.close()
( Q7 E+ m2 c- ~$ X4 y) J. U: E        print newFile + " created."
* a) i- r4 N  d9 v: n6 ^* i: P    else:9 C" T+ K& x/ F2 k6 q9 v
        print newFile + " already exist."
; C& r( m6 |3 c; c. T    return
2 z! v9 S! L& ?4 B) n; k* b
# S" @' n1 r% \, o& n9 K. o/ F! Chint = '''funtion : ( j: E8 F9 s$ A+ d9 S
        1    create new file9 N  M! z2 A2 o& X- x
        2    delete null file
0 R7 p4 n8 ~2 O& @9 Q7 A        3    delete by size5 E! a( m' d9 m5 ]7 `
        q    quit\n
$ O0 k/ z0 j6 }% e; {$ Pplease input number: '''
1 r: r! G7 a. }' d; I: a* pwhile True:
$ X! T+ f. T2 [& O. e    option = raw_input(hint)3 j+ c7 s# u: z4 r% u9 c# f
    if cmp(option,"1") == 0:) t; U4 K  m( J, n0 J$ @* M& F. P
        create()
1 @9 ^  w5 i( {3 r% v. R& G    elif cmp(option,"2") == 0:
. U# f8 @! u3 O- m0 u6 ]7 d1 p' `4 K        deleteNullFile()
4 t7 ^$ u: t8 V* `    elif cmp(option,"3") == 0:( w6 P/ X  D5 l$ |6 m7 r' a3 m& j
        minSize = raw_input("minSize(K) : ")% Y  i7 ^% U+ J" w$ M2 \3 q. d' u2 A
        deleteBySize(minSize)8 a. V$ a) J/ Z
    elif cmp(option,"q") == 0:9 K( o$ P+ k* h; \. g1 N" ]" U
        print "quit !"
' s# v. v* i/ v& w" r5 t3 S9 |        break
- E" D7 F. J- w    else:
8 W; b. d4 a- H9 l        print ("disabled input. please try again...")
! e+ Y2 X2 S( A* e7 ]复制代码
8 ?' n) f! O' q( p4 F) z$ C7 C
5 F2 K% H# k* [$ Q, Q+ R& G% a( E, L% D: J5 w" v
主要涉及到的就是一些文件操作函数和时间函数。: a3 x, r% l% [6 \
/ l/ S3 j+ S! K. C$ I; I+ r+ V$ w
这是我第一个正式的Python脚本,我发现解决问题的动力才是第一生产力!Python是一门脚本语言,应用性十分的强大,可以用来解决很多实际问题,也只有当你遇见了可以用Python来解决的问题的时候,你才能真正的提高自己的能力不是吗?
9 F8 T6 x0 E, \8 y7 u6 B% Q6 n
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|赛格电脑 华强北 电脑城 南山赛格 龙岗电子世界 龙华电脑城 沙井电脑城 松岗电脑城 pc4g.com ( 粤ICP备16039863号 )

GMT+8, 2026-3-7 11:01 , Processed in 0.100708 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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