Python语言零基础入门教程(二十四)

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 Python语言零基础入门教程(二十四),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

Python语言零基础入门教程(二十三)

26、Python os.lchown() 方法

概述
os.lchown() 方法用于更改文件所有者,类似 chown,但是不追踪链接。

只支持在 Unix 下使用。

语法
lchown()方法语法格式如下:

os.lchown(path, uid, gid)

参数
path – 设置权限的文件路径

uid – 所属用户 ID

gid – 所属用户组 ID

返回值
该方法没有返回值。

实例
以下实例演示了 lchown() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
path = "/var/www/html/foo.txt"
fd = os.open( path, os.O_RDWR|os.O_CREAT )

# 关闭打开的文件
os.close( fd )

# 修改文件权限
# 设置文件所属用户 ID
os.lchown( path, 500, -1)

# 设置文件所属用户组 ID
os.lchown( path, -1, 500)

print "修改权限成功!!"

执行以上程序输出结果为:

修改权限成功!!

27、Python os.link() 方法

概述
os.link() 方法用于创建硬链接,名为参数 dst,指向参数 src。

该方法对于创建一个已存在文件的拷贝是非常有用的。

只支持在 Unix, Windows 下使用。

语法
link()方法语法格式如下:

os.link(src, dst)

参数
src – 用于创建硬连接的源地址

dst – 用于创建硬连接的目标地址

返回值
该方法没有返回值。

实例
以下实例演示了 link() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
path = "/var/www/html/foo.txt"
fd = os.open( path, os.O_RDWR|os.O_CREAT )

# 关闭文件
os.close( fd )

# 创建以上文件的拷贝
dst = "/tmp/foo.txt"
os.link( path, dst)

print "创建硬链接成功!!"

执行以上程序输出结果为:

创建硬链接成功!!

28、Python os.listdir() 方法

概述
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。

它不包括 . 和 … 即使它在文件夹中。

只支持在 Unix, Windows 下使用。

注意:针对目录下有中文目录对情况,Python2 需要经过编码处理,但是在 Python3 中不需要已经没有 unicode() 方法,默认是 utf8 编码,所以需要转。

语法
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

实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os

# 打开文件
path = "./git-test"
upath = unicode(path,'utf-8')
dirs = os.listdir( upath )
# 输出所有文件和文件夹
for file in dirs:
    print (file)

执行以上程序输出结果为:

runoob
runoob-git-test
another-runoob-name
中文目录测试

29、Python os.lseek() 方法

概述
os.lseek() 方法用于设置文件描述符 fd 当前位置为 pos, how 方式修改。

在Unix,Windows中有效。

语法
lseek()方法语法格式如下:

os.lseek(fd, pos, how)

参数
fd – 文件描述符。

pos – 这是相对于给定的参数 how 在文件中的位置。。

how – 文件内参考位置。SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始。

返回值
该方法没有返回值。

实例
以下实例演示了 lseek() 方法的使用:

#!/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")

# 所有 fsync() 方法
os.fsync(fd)

# 从开始位置读取字符串
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print "Read String is : ", str

# 关闭文件
os.close( fd )

print "关闭文件成功!!"

执行以上程序输出结果为:

关闭文件成功!!

30、Python os.lstat() 方法

概述
os.lstat() 方法用于类似 stat() 返回文件的信息,但是没有符号链接。在某些平台上,这是fstat的别名,例如 Windows。

语法
lstat()方法语法格式如下:

os.lstat(path)

参数
path – 要返回信息的文件。

返回值
返回文件信息。

实例
以下实例演示了 lstat() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
path = "/var/www/html/foo.txt"
fd = os.open( path, os.O_RDWR|os.O_CREAT )

# 关闭打开的文件
os.close( fd )

# 获取元组
info = os.lstat(path)

print "文件信息 :", info

# 获取文件 uid
print "文件 UID  :%d" % info.st_uid

# 获取文件 gid
print "文件 GID :%d" % info.st_gid

执行以上程序输出结果为:

文件信息 : (33261, 3450178L, 103L, 1, 500, 500, 0L, 
             1238866944, 1238866944, 1238948312)
文件 UID :500
文件 GID :500

31、Python os.major() 方法

概述
os.major() 方法用于从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。

语法
major()方法语法格式如下:

os.major(device)

参数
device – 原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。

返回值
返回设备major号码。

实例
以下实例演示了 major() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

path = "/var/www/html/foo.txt"

# 获取元组
info = os.lstat(path)

# 获取 major 和 minor 设备号
major_dnum = os.major(info.st_dev)
minor_dnum = os.minor(info.st_dev)

print "Major 设备号 :", major_dnum
print "Minor 设备号 :", minor_dnum

执行以上程序输出结果为:

Major 设备号 : 0
Minor 设备号 : 103

32、Python os.makedev() 方法

概述
os.makedev() 方法用于以major和minor设备号组成一个原始设备号。

语法
makedev()方法语法格式如下:

os.makedev(major, minor)

参数
major – Major 设备号。

minor – inor 设备号。

返回值
返回设备号。

实例
以下实例演示了 makedev() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

path = "/var/www/html/foo.txt"

# 获取元组
info = os.lstat(path)

# 获取 major 和 minor 设备号
major_dnum = os.major(info.st_dev)
minor_dnum = os.minor(info.st_dev)

print "Major 设备号 :", major_dnum
print "Minor 设备号 :", minor_dnum

# 生成设备号
dev_num = os.makedev(major_dnum, minor_dnum)
print "设备号 :", dev_num

执行以上程序输出结果为:

Major 设备号 : 0
Minor 设备号 : 103
设备号 : 103

33、Python os.makedirs() 方法

概述
os.makedirs() 方法用于递归创建目录。

如果子目录创建失败或者已经存在,会抛出一个 OSError 的异常,Windows上Error 183 即为目录已经存在的异常错误。

如果第一个参数 path 只有一级,则 mkdir() 函数相同。

语法
makedirs()方法语法格式如下:

os.makedirs(path, mode=0o777)

参数
path – 需要递归创建的目录,可以是相对或者绝对路径。。

mode – 权限模式。

返回值
该方法没有返回值。

实例
以下实例演示了 makedirs() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 创建的目录
path = "/tmp/home/monthly/daily"

os.makedirs( path, 0755 );

print "路径被创建"

执行以上程序输出结果为:

路径被创建

34、Python os.minor() 方法

概述
os.minor() 方法用于从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )。

语法
minor()方法语法格式如下:

os.minor(device)

参数
device – 原始的设备(使用stat中的st_dev或者st_rdev field )

返回值
返回设备 minor 号。

实例
以下实例演示了 minor() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

path = "/var/www/html/foo.txt"

# 获取元组
info = os.lstat(path)

# 获取 major 和 minor 设备号
major_dnum = os.major(info.st_dev)
minor_dnum = os.minor(info.st_dev)

print "Major 设备号 :", major_dnum
print "Minor 设备号 :", minor_dnum

执行以上程序输出结果为:

Major 设备号 : 0
Minor 设备号 : 103

35、Python os.mkdir() 方法

概述
os.mkdir() 方法用于以数字权限模式创建目录(单级目录)。默认的模式为 0777 (八进制)。

如果目录有多级,则创建最后一级,如果最后一级目录的上级目录有不存在的,则会抛出一个 OSError。

语法
mkdir()方法语法格式如下:

os.mkdir(path[, mode])

参数
path – 要创建的目录,可以是相对或者绝对路径。

mode – 要为目录设置的权限数字模式。

返回值
该方法没有返回值。

实例
以下实例演示了 mkdir() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 创建的目录
path = "/tmp/home/monthly/daily/hourly"

os.mkdir( path, 0755 );

print "目录已创建"

执行以上程序输出结果为:

目录已创建

36、Python os.mkfifo() 方法

概述
os.mkfifo() 方法用于创建指令路径的管道,并设置权限模式。默认的模式为 0666 (八进制)。

语法
mkfifo()方法语法格式如下:

os.mkfifo(path[, mode])

参数
path – 要创建的目录

mode – 要为目录设置的权限数字模式

返回值
该方法没有返回值。

实例
以下实例演示了 mkfifo() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 创建的目录
path = "/tmp/hourly"

os.mkfifo( path, 0644 )

print "路径被创建"

执行以上程序输出结果为:

路径被创建

37、Python os.mknod() 方法

概述
os.mknod() 方法用于创建一个指定文件名的文件系统节点(文件,设备特别文件或者命名pipe)。

语法
mknod()方法语法格式如下:

os.mknod(filename[, mode=0600[, device=0]])

参数
filename – 创建的文件系统节点

mode – mode指定创建或使用节点的权限, 组合 (或者bitwise) stat.S_IFREG, stat.S_IFCHR, stat.S_IFBLK, 和stat.S_IFIFO (这些常数在stat模块). 对于 stat.S_IFCHR和stat.S_IFBLK, 设备定义了 最新创建的设备特殊文件 (可能使用 os.makedev()),其它都将忽略。

device – 可选,指定创建文件的设备

返回值
该方法没有返回值。

实例
以下实例演示了 mknod() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os
import stat

filename = '/tmp/tmpfile'
mode = 0600|stat.S_IRUSR

# 文件系统节点指定不同模式
os.mknod(filename, mode)

执行以上程序输出结果为:

-rw-------. 1 root   root         0 Apr 30 02:38 tmpfile

38、Python os.open() 方法

概述
os.open() 方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。

语法
open()方法语法格式如下:

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: 创建并打开一个新文件
os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)
os.O_EXCL: 如果指定的文件存在,返回错误
os.O_SHLOCK: 自动获取共享锁
os.O_EXLOCK: 自动获取独立锁
os.O_DIRECT: 消除或减少缓存效果
os.O_FSYNC : 同步写入
os.O_NOFOLLOW: 不追踪软链接
mode – 类似 chmod()。

返回值
返回新打开文件的描述符。

实例
以下实例演示了 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 "关闭文件成功!!"

执行以上程序输出结果为:

关闭文件成功!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/143819.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!