总结8-08

Python os.access() 方法

语法:

access()方法语法格式如下

os.access(path, mode):

path -- 要用来检测是否有访问权限的路径。

mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。

"""
os.F_OK: 作为access()的mode参数,测试path是否存在。
os.R_OK: 包含在access()的mode参数中 , 测试path是否可读。
os.W_OK 包含在access()的mode参数中 , 测试path是否可写。
os.X_OK 包含在access()的mode参数中 ,测试path是否可执行。
"""
import os, sys
ret = os.access("files/os_sys.txt", os.F_OK)
print("F_OK - 返回值 %s"% ret)

ret = os.access("files/os_sys.txt", os.R_OK)
print("R_OK - 返回值 %s"% ret)

ret = os.access("files/os_sys.txt", os.W_OK)
print("W_OK - 返回值 %s"% ret)

ret = os.access("files/os_sys.txt", os.X_OK)
print("X_OK - 返回值 %s"% ret)

os.chdir() 方法用于改变当前工作目录到指定的路径

语法

chdir()方法语法格式:os.chdir(path)

参数 - path -- 要切换到的新路径。

返回值 - 如果允许访问返回 True , 否则返回False

path = "files/os_sys.txt"

查看当前工作目录

retval = os.getcwd()
print ("当前工作目录为 %s" % retval)

修改当前工作目录

os.chdir(path)

查看修改后的工作目录

retval = os.getcwd()

print ("目录修改成功 %s" % retval)

概述

os.chflags() 方法用于设置路径的标记为数字标记。多个标记可以使用 OR 来组合起来。

只支持在 Unix 下使用。

语法

chflags()方法语法格式:os.chflags(path, flags)

"""
参数
path -- 文件名路径或目录路径。

flags -- 可以是以下值:

stat.UF_NODUMP: 非转储文件
stat.UF_IMMUTABLE: 文件是只读的
stat.UF_APPEND: 文件只能追加内容
stat.UF_NOUNLINK: 文件不可删除
stat.UF_OPAQUE: 目录不透明,需要通过联合堆栈查看
stat.SF_ARCHIVED: 可存档文件(超级用户可设)
stat.SF_IMMUTABLE: 文件是只读的(超级用户可设)
stat.SF_APPEND: 文件只能追加内容(超级用户可设)
stat.SF_NOUNLINK: 文件不可删除(超级用户可设)
stat.SF_SNAPSHOT: 快照文件(超级用户可设)
"""
import os,stat

path = "files/os_sys.txt"

为文件设置标记,使得它不能被重命名和删除

flags = stat.SF_NOUNLINK
retval = os.chflags( path, flags )
print ("返回值: %s" % retval)

概述

os.chmod() 方法用于更改文件或目录的权限。

语法

chmod()方法语法格式:os.chmod(path, mode)

该方式没有返回值

"""
参数
path -- 文件名路径或目录路径。

flags -- 可用以下选项按位或操作生成, 目录的读权限表示可以获取目录里文件名列表, ,执行权限表示可以把工作目录切换到此目录 ,删除添加目录里的文件必须同时有写和执行权限 ,文件权限以用户id->组id->其它顺序检验,最先匹配的允许或禁止权限被应用。

stat.S_IXOTH: 其他用户有执行权0o001
stat.S_IWOTH: 其他用户有写权限0o002
stat.S_IROTH: 其他用户有读权限0o004
stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007
stat.S_IXGRP: 组用户有执行权限0o010
stat.S_IWGRP: 组用户有写权限0o020
stat.S_IRGRP: 组用户有读权限0o040
stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070
stat.S_IXUSR: 拥有者具有执行权限0o100
stat.S_IWUSR: 拥有者具有写权限0o200
stat.S_IRUSR: 拥有者具有读权限0o400
stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700
stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
stat.S_IREAD: windows下设为只读
stat.S_IWRITE: windows下取消只读
"""

os.chmod("files/os_sys.txt", stat.S_IXGRP)

设置文件可以被其他用户写入

os.chmod("files/os_sys.txt", stat.S_IWOTH)

print ("修改成功!!")

概述

os.dup2() 方法用于将一个文件描述符 fd 复制到另一个 fd2。

Unix, Windows 上可用。

语法

dup2()方法语法格式:os.dup2(fd, fd2);

参数

fd -- 要被复制的文件描述符

fd2 -- 复制的文件描述符

f = open('txt', 'a')

将这个文件描述符代表的文件,传递给 1 描述符指向的文件(也就是 stdout)

os.dup2(f.fileno(), 1)

关闭文件

f.close()

print 输出到标准输出流,就是文件描述符1

print('runoob')
print('google')

概述

os.fchown() 方法用于修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。

Unix上可用。

语法

fchown()方法语法格式:os.fchown(fd, uid, gid)

参数

fd -- 文件描述符

uid -- 文件所有者的用户id

gid -- 文件所有者的用户组id

打开文件 "/tmp/foo.txt"

fd = os.open("files/os_sys.txt", os.O_RDONLY)

设置文件的用户 id 为 100

os.fchown(fd, 100, -1)

设置文件的用户组 id 为 50

os.fchown(fd, -1, 50)

print("修改权限成功!!")

关闭文件

os.close(fd)

概述

os.ftruncate() 裁剪文件描述符fd对应的文件, 它最大不能超过文件大小。

Unix上可用。

语法

ftruncate()方法语法格式:os.ftruncate(fd, length)

参数

fd -- 文件的描述符。

length -- 要裁剪文件大小。

打开文件

fd = os.open( "files/os_sys.txt", os.O_RDWR|os.O_CREAT )

写入字符串

os.write(fd, "This is test - This is test")

使用 ftruncate() 方法

os.ftruncate(fd, 10)

读取内容

os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print ("读取的字符串是 : ", str)

关闭文件

os.close( fd)

print ("关闭文件成功!!")

概述

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

语法

makedev()方法语法格式:os.makedev(major, minor)

参数

major -- Major 设备号

minor -- inor 设备号

path = "files/os_sys.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)

概述

os.pathconf() 方法用于返回一个打开的文件的系统配置信息。

Unix 平台下可用。

语法

fpathconf()方法语法格式:os.fpathconf(fd, name)

"""
fd -- 文件描述符

name -- 检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。
一些平台也定义了一些额外的名字。这些名字在主操作系统上pathconf_names的字典中。对于不在pathconf_names中的配置变量,传递一个数字作为名字,也是可以接受的。

"""

打开文件

fd = os.open( "files/os_sys.txt", os.O_RDWR|os.O_CREAT )

print ("%s" % os.pathconf_names)

获取文件最大连接数

no = os.fpathconf(fd, 'PC_LINK_MAX')
print ("Maximum number of links to the file. :%d" % no)

获取文件名最大长度

no = os.fpathconf(fd, 'PC_NAME_MAX')
print ("Maximum length of a filename :%d" % no)

关闭文件

os.close( fd)

print ("关闭文件成功!!")

概述

os.rename() 方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。

语法

rename()方法语法格式:os.rename(src, dst)

参数

src -- 要修改的目录名

dst -- 修改后的目录名

列出目录

print ("目录为: %s"%os.listdir(os.getcwd()))

重命名

os.rename("test","test2")

print ("重命名成功。")

列出重命名后的目录

print ("目录为: %s" %os.listdir(os.getcwd()))

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容