1. os.chdir() 方法
####概述:
os.chdir() 方法用于改变当前工作目录到指定的路径。
####语法:
os.chdir(path)
参数
path – 要切换到的新路径。
返回值
如果允许访问返回 True , 否则返回False。
实例
以下实例演示了 chdir() 方法的使用:
# -*- coding: UTF-8 -*-
import os, sys
path = "/tmp"
# 查看当前工作目录
retval = os.getcwd()
print ("当前工作目录为 %s" % retval)
# 修改当前工作目录
os.chdir( path )
# 查看修改后的工作目录
retval = os.getcwd()
print ("目录修改成功 %s" % retval)
执行以上程序输出结果为:
当前工作目录为 /www
目录修改成功 /tmp
2. os.getcwd() 方法
####概述
os.getcwd() 方法用于返回当前工作目录。
####语法
os.getcwd()
参数
无
返回值
返回当前进程的工作目录。
实例
以下实例演示了 getcwd() 方法的使用:
# -*- coding: UTF-8 -*-
import os, sys
# 切换到 "/var/www/html" 目录
os.chdir("/var/www/html" )
# 打印当前目录
print "当前工作目录 : %s" % os.getcwd()
# 打开 "/tmp"
fd = os.open( "/tmp", os.O_RDONLY )
# 使用 os.fchdir() 方法修改目录
os.fchdir(fd)
# 打印当前目录
print "当前工作目录 : %s" % os.getcwd()
# 关闭文件
os.close( fd )
执行以上程序输出结果为:
当前工作目录 : /var/www/html
当前工作目录 : /tmp
3.os.listdir() 方法
####概述:
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 ‘.’ 和’…’ 即使它在文件夹中。
####语法:
os.listdir(path)
参数
path – 需要列出的目录路径
返回值
返回指定路径下的文件和文件夹列表。
实例
以下实例演示了 listdir() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys
# 打开文件
path = "/var/www/html/"
dirs = os.listdir( path )
# 输出所有文件和文件夹
for file in dirs:
print file
执行以上程序输出结果为:
test.htm
stamp
faq.htm
_vti_txt
robots.txt
itemlisting
resumelisting
writing_effective_resume.htm
advertisebusiness.htm
papers
resume
4.os.open() 方法
####概述:
os.open() 方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。
####语法:
os.open(file, flags[, mode]);
参数
file – 要打开的文件
flags – 该参数可以是以下选项,多个使用 “|” 隔开,常用如下:
os.O_RDONLY: 以只读的方式打开
os.O_WRONLY: 以只写的方式打开
os.O_RDWR : 以读写的方式打开
os.O_NONBLOCK: 打开时不阻塞
os.O_APPEND: 以追加的方式打开
os.O_CREAT: 创建并打开一个新文件
返回值
返回新打开文件的描述符。
实例
以下实例演示了 open() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys
# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# 写入字符串
os.write(fd, "This is test")
# 关闭文件
os.close( fd )
print "关闭文件成功!!"
执行以上程序输出结果为:
关闭文件成功!!
5. os.read() 方法
####概述
os.read() 方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。
####语法:
os.read(fd,n)
参数
fd – 文件描述符。
n – 读取的字节。
返回值
返回包含读取字节的字符串
实例
以下实例演示了 read() 方法的使用:
# -*- coding: UTF-8 -*-
import os, sys
# 打开文件
fd = os.open("f1.txt",os.O_RDWR)
# 读取文本
ret = os.read(fd,12)
print (ret)
# 关闭文件
os.close(fd)
print ("关闭文件成功!!")
执行以上程序输出结果为:
This is test
关闭文件成功!!
##6. os.write() 方法
####概述
os.write() 方法用于写入字符串到文件描述符 fd 中. 返回实际写入的字符串长度。
####语法
os.write(fd, str)
参数
fd – 文件描述符。
str – 写入的字符串。
返回值
该方法返回写入的实际位数。
实例
以下实例演示了 write() 方法的使用:
# -*- coding: UTF-8 -*-
import os, sys
# 打开文件
fd = os.open("f1.txt",os.O_RDWR|os.O_CREAT)
# 写入字符串
ret = os.write(fd,"This is runoob.com site")
# 输入返回值
print "写入的位数为: "
print (ret)
print ("写入成功")
# 关闭文件
os.close(fd)
print ("关闭文件成功!!")
执行以上程序输出结果为:
写入的位数为:
23
写入成功
关闭文件成功!!
##7.os.walk() 方法
###概述
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。
###语法
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
参数
top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
- root 所指的是当前正在遍历的这个文件夹的本身的地址
- dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
- files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。
onerror – 可选, 需要一个 callable 对象,当 walk 需要异常时,会调用。
followlinks – 可选, 如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)。
返回值
该方法没有返回值。
实例
以下实例演示了 walk() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
执行以上程序输出结果为:
./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp
./tmp/test.py