代码改变世界

24-Python3 OS

2018-11-20 11:46  改改~_~  阅读(165)  评论(0编辑  收藏  举报

 

24-Python3 OS

 

 

'''
OS文件/目录方法
'''

##os.access():检验权限模式
fo1 = open('/Users/ligaijiang/PycharmProjects/foo01.txt','w')
fo1.close()
import os,sys

ret1 = os.access('/Users/ligaijiang/PycharmProjects/foo01.txt',os.F_OK)
print('F_OK返回值{}:'.format(ret1))

ret2 = os.access('Users/ligaijiang/PycharmProjects/foo01.txt',os.W_OK)
print('W_OK返回值:{}'.format(ret2))

ret3 = os.access('/Users/ligaijiang/PycharmProjects/foo01.txt',os.R_OK)
print('R_OK返回值{}:'.format(ret3))

ret4 = os.access('/Users/ligaijiang/PycharProjects/foo01.txt',os.X_OK)
print('X_OK返回值{}:'.format(ret4))


##os.chdir():改变当前工作目录
path = '/tmp'

retval = os.getcwd() #查看当前工作目录
print('当前工作目录为{}:'.format(retval))

# os.chdir(path) #修改当前工作目录
#
# retval = os.getcwd()#查看修改后的工作目录
# print('修改后的工作目录为{}:'.format(retval))



##os.chflags():
pass
import stat
# path2 = '/Users/ligaijiang/PycharmProjects/foo1.txt'
#
# flags = stat.SF_NOUNLINK #为文件设置标记,使它不能被重名和删除
# retval2 = os.chflags(path2,flags)
# print('返回值{}:'.format(retval2))



##os.chmod():更改文件或目录的权限

# fo2 = open('/Users/ligaijiang/PycharmProjects/foo2.txt','w')
# fo2.close()
#
# os.chmod('/Users/ligaijiang/PycharmProjects/foo2.txt',stat.S_IXGRP)#设置文件可以通过用户组执行
# os.chmod('/Users/ligaijiang/PycharmProjects/foo2.txt',stat.S_IWOTH)#设置文件可以被其他用户写入
# print('修改成功!')


##os.chown():更改文件所有者,change+own=chown
fo_chown=open('/Users/ligaijiang/PycharmProjects/foo_chown.txt','w')
fo_chown.close()
#os.chown(parh,uid,gid)


##os.chroot():改变当前目录的根目录,change+root = chroot
pass

##so.close(fd):关闭指定的文件描述符
#创建文件
fo_close = open('/Users/ligaijiang/PycharmProjects/foo_close.txt','w')
fo_close.close()
#打开文件
fd = os.open('/Users/ligaijiang/PycharmProjects/foo_close.txt',os.O_RDWR|os.O_CREAT)
#写入字符串
os.write(fd,b'This is test')
#关闭文件
os.close(fd)
print('关闭文件成功!')


##os_closerange(fd_low,fd_heigh):关闭所有文件描述符,从fd_low(包含)到fd_heigh(不包含),错误会忽略


##os_dup(fd):复制文件描述符fd

fo_dup = open('/Users/ligaijiang/PycharmProjects/foo_dup.txt','w')
fo_dup.close()

fo_dup1 = os.open('/Users/ligaijiang/PycharmProjects/foo_dup.txt',os.O_RDWR|os.O_CREAT) #打开文件

fo_dup2= os.dup(fo_dup1) #复制文件描述符

os.write(fo_dup2,'this is test'.encode()) #使用复制的文件描述符写入文件
os.closerange(fo_dup1,fo_dup2) #关闭文件

print('os_dup关闭所有文件成功!')




##os.dup2(fd,fd2):将一个文件描述符fd复制到另一个fd2

fo_dup2 = open('/Users/ligaijiang/PycharmProjects/foo_dup2.txt','w')
fo_dup2.close()

f2 = open('/Users/ligaijiang/PycharmProjects/foo_dup2.txt','a')
os.dup2(f2.fileno(),1)
f2.close()

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

 

 ---

解决