os.path.abspath(path) #返回绝对路径
os.path.basename(path) #返回文件名
os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。
os.path.dirname(path) #返回文件路径
os.path.exists(path)  #路径存在则返回True,路径损坏返回False
os.path.lexists  #路径存在则返回True,路径损坏也返回True
os.path.expanduser(path)  #把path中包含的"~"和"~user"转换成用户目录
os.path.expandvars(path)  #根据环境变量的值替换path中包含的”$name”和”${name}”
os.path.getatime(path)  #返回最后一次进入此path的时间。
os.path.getmtime(path)  #返回在此path下最后一次修改的时间。
os.path.getctime(path)  #返回path的大小
os.path.getsize(path)  #返回文件大小,如果文件不存在就返回错误
os.path.isabs(path)  #判断是否为绝对路径
os.path.isfile(path)  #判断路径是否为文件
os.path.isdir(path)  #判断路径是否为目录
os.path.islink(path)  #判断路径是否为链接
os.path.ismount(path)  #判断路径是否为挂载点()
os.path.join(path1[, path2[, ...]])  #把目录和文件名合成一个路径
os.path.normcase(path)  #转换path的大小写和斜杠
os.path.normpath(path)  #规范path字符串形式
os.path.realpath(path)  #返回path的真实路径
os.path.relpath(path[, start])  #从start开始计算相对路径
os.path.samefile(path1, path2)  #判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2)  #判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2)  #判断stat tuple stat1和stat2是否指向同一个文件
os.path.split(path)  #把路径分割成dirname和basename,返回一个元组
os.path.splitdrive(path)   #一般用在windows下,返回驱动器名和路径组成的元组
os.path.splitext(path)  #分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path)  #把路径分割为加载点与文件
os.path.walk(path, visit, arg)  #遍历path,进入每个目录都调用visit函数,visit函数必须有
3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有
文件名,args则为walk的第三个参数
os.path.supports_unicode_filenames  #设置是否支持unicode路径名

os.pardir  #当前目录的父目录

os.path.join(script_dir, os.pardir, os.pardir)  #script_dir的祖父目录,例如:script_dir是F:\1\2\3,那么os.path.join(script_dir, os.pardir, os.pardir)是F:\1\2\3\..\..

os.path.abspath(os.path.join(script_dir, os.pardir, os.pardir)) #script_dir的祖父目录,例如:script_dir是F:\1\2\3,那么os.path.abspath(os.path.join(script_dir, os.pardir, os.pardir))是F:\1

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)

os.path等os模块函数的更多相关文章

  1. Python:目录和文件的操作模块os.path和OS常用方法

    1.目录和文件的操作模块os.path,在使用之前要先导入:import os.path.它主要有以下几个重要的功能函数: #!/user/bin/python #coding= utf-8 impo ...

  2. Python基本知识 os.path.join与split() 函数

    Python中有join和os.path.join()两个函数,具体作用如下: join:连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串os.path.joi ...

  3. Python 基础之模块之os os.path 及os与shutil对比

    一: os 对系统进行操作 #注:以下操作都在linux环境下操作,且很多运行之前需要做好相关条件import os#(1)system() 在python总执行系统命令#os.system(&quo ...

  4. Python_os、os.path、os.shutil使用案例

    import os import os.path print(os.path.basename('/Users/c2apple/Desktop/彩屏')) #获取路径的最后一个组成部分 os.path ...

  5. 4、Python文件对象及os、os.path和pickle模块(0530)

    文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...

  6. python 文件操作,os.path.walk()的回调函数打印文件名

    #coding=utf-8 import osdef find_file(arg,dirname,files):    #for i in arg:        #print i for file ...

  7. python中 OS模块中 os.path.join() 函数用法简介

    基础用法 os.path.join() 用于拼接文件的路径,可以传入多个待拼接的路径 若各个路径之间不存在 " / ", 则其会自动为各个路径之间增加连接符 " / &q ...

  8. python os.path 模块

    os.path模块用法: 1, os.path.basename() >>> os.path.basename('/share/Public/cmiao')'cmiao' basen ...

  9. 洗礼灵魂,修炼python(17)--跨平台操作三剑客—os,os.path.sys模块

    os 1.作用: 因为客户基本都是使用不同的操作系统,在不同的系统下,要完成一个项目,那必须跨平台操作,而python本来就是一个跨平台的语言,而有了os模块,则不需要在意什么系统.并且os模块是用于 ...

随机推荐

  1. [C++/Python] 如何在Python中使用一个DLL? (Windows环境)

    开发环境VS2012, WIN7 64. 首先生成的DLL大致如下: .h文件 #ifdef CVINPYTHON_EXPORTS #define CVINPYTHON_API __declspec( ...

  2. 洛谷2473(SCOI2008)奖励关

    题目:https://www.luogu.org/problemnew/show/P2473 因为可不可选此物与之前选过什么物品有关,所以状态可以记录成前面已经选过什么物品. 因为选不选此物与它带来的 ...

  3. 启动zookeeper时,jps显示有进程,但是status查看状态时就Error contacting service. It is probably not running

    转自:http://www.cnblogs.com/xiaohua92/p/5460515.html#undefined 安装zookeeper时候,可以查看进程启动,但是状态显示报错:Error c ...

  4. php7新特性一览

    1.太空船操作符 用于比较2个表达式,例如当\(a小于,等于或大于\)b时,分别返回-1,0,1 php echo 1 <=> 1; //0 echo PHP_EOL; echo 1 &l ...

  5. 嵌入式linux开发:杂七杂八的话

    1. 编译器:常用的有Sourcery,linaro等.当然芯片厂家一般也会提供可用的编译器. 2. 将配置和编译时的输出O到其他位置:make O=some_dir 这样做的好处是保持源代码树的干净 ...

  6. 面试总结之JAVA

    1. what is thread safe? 线程安全就是说多线程访问同一代码,不会产生不确定的结果.编写线程安全的代码是低依靠线程同步.线程安全: 在多线程中使用时,不用自已做同步处理线程不安全: ...

  7. [转]Web 调试工具之 Advanced REST client

    原文:http://bbs.itcast.cn/forum.php?mod=viewthread&tid=85654 安装方式: 3.1. 如果你能FQ访问谷歌商店,那么就简单了 在这里直接安 ...

  8. 简单神经网络TensorFlow实现

    学习TensorFlow笔记 import tensorflow as tf #定义变量 #Variable 定义张量及shape w1= tf.Variable(tf.random_normal([ ...

  9. 短信发送接口demo

    public class SendValidCode { // 短信发送的接口网关 private static String sendUrl = "******************** ...

  10. Androdi Gradle build project info 很慢

    Androdi Gradle build project info 很慢 http://blog.csdn.net/stupid56862/article/details/78345584   原创  ...