001常用技巧搜集

一、文件操作

  1. 创建多级目录
## 创建多层目录
def mkdirs(path):
    #去除首位空格
    path = path.strip()
    #去除尾部 \ 符号
    path = path.rstrip("\\")
    
    # 判断路径是否存在
    isExists = os.path.exists(path)

    if not isexists:
        os.makedirs(path)
        return True
    else:
        return False

 

#创建文件
os.mknod("newFile.txt")
# or
open("newFile.txt", "w")
#w: 写模式。特性:文件不存在,就创建。写前会清空文件内容
#r : 写模式。特性:文件不许存在
#a : 追加模式。特性:文件不存在,就创建。写入内容放到文件末尾。
#+: 表示读写模式,三中基本模式都有。


# 复制文件
shutil.copyfile("oldFile", "newFile")
# oldFile、newFile 只能是文件

shutil.copy("oldFile", "new")
#oldFile 必须是文件夹,new即可以是文件,也可以是文件夹

#复制文件夹
shutil.copytree("oldDir", "newDir")
#oldDir、newDir只能是目录,并且newDir必须存在

#重命名文件(目录)
os.rename("oldName",  "newName")

#移动文件、目录
shutil.move("oldPos", "newPos")

#删除文件
os.remove("file")

#删除目录
os.rmdir("dir")
#只能删除空目录

shutil.rmtree("dir")
#空目录、有内容的目录都可以删除

#转换目录
os.chdir("path")

#判断是否存在
os.path.exists("goal")

#判断是否是目录
os.path.isdir("goal")

#判断是否是文件
os.path.isfile("goal")

#遍历目录
os.listdir("path")

获取文件属性

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import re
import os
import sys
import stat
import time

fileStats = os.stat ( 'filestat.py' )                             #获取文件/目录的状态

fileInfo = {
    'Size':fileStats [ stat.ST_SIZE ],                         #获取文件大小
    'LastModified':time.ctime( fileStats [ stat.ST_MTIME ] ),  #获取文件最后修改时间
    'LastAccessed':time.ctime( fileStats [ stat.ST_ATIME ] ),  #获取文件最后访问时间
    'CreationTime':time.ctime( fileStats [ stat.ST_CTIME ] ),  #获取文件创建时间
    'Mode':fileStats [ stat.ST_MODE ]                          #获取文件的模式
}

#print fileInfo

for field in fileInfo:                                         #显示对象内容
  print '%s:%s' % (field,fileInfo[field])

print fileStats  
print type(fileStats)
'''
  stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义
  os.stat(path)执行一个stat()系统调用在给定的path上,返回一个类元组对象(stat_result对象,包含10个元素),
  属性与stat结构成员相关:st_mode(权限模式),st_ino(inode number),st_dev(device),st_nlink(number of hard links),
  st_uid(所有用户的user id),st_gid(所有用户的group id),
  st_size(文件大小,以位为单位),st_atime(最近访问的时间),st_mtime(最近修改的时间),st_ctime(创建的时间)
'''
print fileStats.st_mode
print fileStats.st_ino
print fileStats.st_dev
print fileStats.st_nlink
print fileStats.st_uid
print fileStats.st_gid
print fileStats.st_size
print fileStats.st_atime
print fileStats.st_mtime
print fileStats.st_ctime

 参考:http://catroll.com/post-123.html

posted @ 2014-08-24 13:15  xiaolongxia  阅读(128)  评论(0)    收藏  举报