python os

os 模块提供了一个统一的操作系统接口函数, 这些接口函数通常是平台指定的,os 模块能在不同操作系统平台如 nt 或 posix中的特定函数间自动切换,从而能实现跨平台操作

   

1.文件操作

build-in函数 open 实现文件创建, 打开, 修改文件的操作

 

import os

import string

   

def replace(file, search_for, replace_with):

# replace strings in a text file

   

back = os.path.splitext(file)[0] + ".bak"

temp = os.path.splitext(file)[0] + ".tmp"

   

try:

# remove old temp file, if any

os.remove(temp)

except os.error:

pass

   

fi = open(file) #

fo = open(temp, "w")        #

   

for s in fi.readlines():

fo.write(string.replace(s, search_for, replace_with))

   

fi.close()

fo.close()

   

try:

# remove old backup file, if any

os.remove(back)

except os.error:

pass

   

# rename original to backup...

os.rename(file, back)

   

# ...and temporary to original

os.rename(temp, file)

   

# try it out!

   

file = "c:\samples\sample.txt"

   

replace(file, "hello", "tjena")# search for the string 'hello' and replace with 'tjena

replace(file, "tjena", "hello")

   

2. 目录操作

os 模块包含了许多对目录操作的函数

listdir 函数返回给定目录下的所有文件(包括目录)

   

import os

for file in os.listdir("c:\qtest"):

print file

   

getdir 获取当前目录

chdir 改变当前路径

   

cwd = os.getcwd()

print "1", cwd

# go down

os.chdir("c:\qtest")

print "2", os.getcwd()

# go back up

os.chdir(os.pardir)#返回当前目录的父目录

print "3", os.getcwd()

   

makedirs removedirs 生成和删除目录

makedirs可以生成多层递归目录, removedirs可以删除多层递归的空目录,若目录中有文件则无法删除

   

import os

os.makedirs("c:\\test\\multiple\\levels")

fp = open("c:\\test\\multiple\\levels\\file.txt", "w")

fp.write("inspector praline")

fp.close()

# remove the file

os.remove("c:\\test\\multiple\\levels\\file.txt")

# and all empty directories above it

os.removedirs("c:\\test\\multiple\\levels")

   

mkdir rmdir只能处理单级目录操作.

若要删除非空目录, 可使用 shutil模块中的rmtree函数

   

3. 文件属性的操作

import os

import time

file = 'c:\qtest\editor.pyc'

   

st = os.stat(file)

print "state", file

   

def dump(st):

mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime = st

print "- size:", size, "bytes"

print "- owner:", uid, gid

print "- created:", time.ctime(ctime)

print "- last accessed:", time.ctime(atime)

print "- last modified:", time.ctime(mtime)

print "- mode:", oct(mode)

print "- inode/dev:", ino, dev

   

print dir(st)

print        

dump(st)

# print

   

fp = open(file)

st = os.fstat(fp.fileno())

print "fstat", file

dump(st)

你可能感兴趣的:(python学习)