ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 9360|回复: 38

基础语法06--OS

[复制链接]
发表于 2020-4-17 14:36:06 | 显示全部楼层 |阅读模式
#Python3 os.access() 方法
#方法使用当前的uid/gid尝试访问路径。

====================
#!/usr/bin/python3

import os, sys

# 假定 /tmp/foo.txt 文件存在,并有读写权限

ret = os.access("/tmp/foo.txt", os.F_OK)
print ("F_OK - 返回值 %s"% ret)

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

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

ret = os.access("/tmp/foo.txt", os.X_OK)
print ("X_OK - 返回值 %s"% ret)
回复

使用道具 举报

 楼主| 发表于 2020-4-17 14:45:32 | 显示全部楼层
#Python3 os.chdir() 方法
#用于改变当前工作目录到指定的路径。

====================
#!/usr/bin/python3

import os, sys

path = "/tmp"

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

# 修改当前工作目录
os.chdir( path )

# 查看修改后的工作目录
retval = os.getcwd()

print ("目录修改成功 %s" % retval)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 14:50:02 | 显示全部楼层
#Python3 os.chmod() 方法
#用于更改文件或目录的权限。Unix 系统可用。
====================
#!/usr/bin/python3

import os, sys, stat

# 假定 /tmp/foo.txt 文件存在,设置文件可以通过用户组执行

os.chmod("/tmp/foo.txt", stat.S_IXGRP)

# 设置文件可以被其他用户写入
os.chmod("/tmp/foo.txt", stat.S_IWOTH)

print ("修改成功!!")



#参数
====================
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下取消只读
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 14:56:55 | 显示全部楼层
#Python3 os.chown() 方法
#方法用于更改文件所有者,如果不修改可以设置为 -1, 你需要超级用户权限来执行权限修改操作。只支持在 Unix 下使用。

====================
#!/usr/bin/python3

import os, sys

# 假定 /tmp/foo.txt 文件存在.
# 设置所有者 ID 为 100
os.chown("/tmp/foo.txt", 100, -1)

print ("修改权限成功!!")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 15:02:49 | 显示全部楼层
#Python3 os.chroot() 方法
#方法用于更改当前进程的根目录为指定的目录,使用该函数需要管理员权限。在 unix 中有效。
====================
#!/usr/bin/python3

import os, sys

# 设置根目录为 /tmp

os.chroot("/tmp")

print ("修改根目录成功!!")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 15:08:31 | 显示全部楼层
#Python3 os.close() 方法
#用于关闭指定的文件描述符 fd。

====================
#!/usr/bin/python3

import os, sys

# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

#  写入字符串,字符串要encode,才能写入
str = "This is test"
os.write(fd, str.encode())

# 关闭文件
os.close( fd )

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

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 15:18:35 | 显示全部楼层
#Python3 os.closerange() 方法
#用于关闭所有文件描述符 fd,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略。

====================
#!/usr/bin/python3
import os, sys

# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

#  写入字符串,字符串要encode,才能写入
str = "This is test"
os.write(fd, str.encode())

# 关闭文件
os.closerange( fd, fd)

print ("关闭文件成功!!")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 15:20:23 | 显示全部楼层
#Python3 os.dup() 方法
#用于复制文件描述符 fd。

====================
#!/usr/bin/python3

import os, sys

# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# 复制文件描述符
d_fd = os.dup( fd )

# 使用复制的文件描述符写入文件
os.write(d_fd, "This is test".encode())

# 关闭文件
os.closerange( fd, d_fd)

print ("关闭所有文件成功!!")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 15:22:18 | 显示全部楼层
#Python3 os.dup2() 方法
#用于将一个文件描述符 fd 复制到另一个 fd2。

====================
#!/usr/bin/python3

import os

# 打开一个文件
f=open('test.txt','a')

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

# 关闭文件
f.close()

# print 输出到标准输出流,就是文件描述符1
print('runoob')
print('google')
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 15:25:02 | 显示全部楼层
#Python3 os.fchdir() 方法
#通过文件描述符改变当前工作目录。Unix 上可用。

====================
#!/usr/bin/python3
import os, sys

# 首先到目录 "/var"
os.chdir("/var" )

# 输出当前目录
print ("当前工作目录为 : %s" % os.getcwd())

# 打开新目录 "/tmp"
fd = os.open( "/tmp", os.O_RDONLY )

# 使用 os.fchdir() 方法修改到新目录
os.fchdir(fd)

# 输出当前目录
print ("当前工作目录为 : %s" % os.getcwd())

# 关闭打开的目录
os.close( fd )
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 23:26 , Processed in 0.036245 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表