Python_OS模块常用function

本文详细介绍了Python的os模块中几个常用的方法,包括改变和获取当前工作目录、列出目录内容、打开文件及其读写操作等。这些方法是进行文件管理和系统任务的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值