os模块

import os
import time

1、os.path

path = '/Users/beazley/Data/data.csv'

# 返回文件名
print(os.path.basename(path))  # data.csv

# 返回文件路径
print(os.path.dirname(path))  # /Users/beazley/Data

# 获得绝对路径
os.path.abspath(os.getcwd())  # D:\My_Project\cook_book_work

# 把目录和文件名合成一个路径
print(os.path.join('tmp', 'data', os.path.basename(path)))  # tmp\data\data.csv

# 把文件名和拓展名分开,返回一个元组
print(os.path.splitext(path))  # ('/Users/beazley/Data/data', '.csv')

# 返回文件的路径和文件名
dirname,filename=os.path.split('/home/ubuntu/python_coding/split_func/split_function.py')

 

# 路径存在则返回True,路径损坏返回False
print(os.path.exists('D:\My_Project\cook_book_work\somefile.bin'))  # True

#  判断路径是否为文件
print(os.path.isfile('D:\My_Project\cook_book_work\somefile.bin'))  # True

# 判断路径是否为目录
print(os.path.isdir('D:\My_Project\cook_book_work\somefile.bin'))  # False

# 判断路径是否为链接
print(os.path.islink('D:\My_Project\cook_book_work\somefile.bin'))  # False
# Get the file linked to 返回path的真实路径
print(os.path.realpath('/usr/local/bin/python3'))  # /usr/local/bin/python3.3

 

# getmtime()返回最近文件修改时间, getctime()返回文件创建时间
print(os.path.getmtime('D:\My_Project\cook_book_work\somefile.bin')) # 1544928936.165594
print(time.ctime(os.path.getmtime('D:\My_Project\cook_book_work\somefile.bin')))  # Sun Dec 16 10:55:36 2018

# 返回文件大小,如果文件不存在就返回错误
print(os.path.getsize('D:\My_Project\cook_book_work\somefile.bin'))  # 11

 

os.mkdir('directory')  #创建目录,只能创建一层目录
os.remove('test1.py') #删除指定文件
os.rmdir('aaa')  #删除指定目录

 

2、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: 创建并打开一个新文件

 

3、os.listdir()

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。

#返回指定目录下所有的文件和目录名
os.listdir('.')

names = [name for name in os.listdir('D:\My_Project\cook_book_work')
        if os.path.isfile(os.path.join('D:\My_Project\cook_book_work',name))]
print(names)
# ['somefile.bin', 'somefile.txt', 'somefile1.bin', 'test5_1.py']

 

4、os.chdir()、os.getcwd()
os.chdir()用于改变当前工作目录到指定的路径。
os.getcwd()   #查看当前工作路径
os.chdir('/root/')  #修改当前工作路径到‘/root’

 

5、os.system()
os.system执行系统操作命令,它的结果只是命令执行结果的返回值,执行成功会返回0

os.system('pwd')  # linux

os.system('dir')  # windows

 

 

6、os.access()
查看文件是否有指定权限,有则返回True否则返回flase

os.access(path, mode)
path:指定文件路径
mode:参数有F_OK(是否存在),R_OK(可读),W_OK(可写),X_OK(可执行)
os.access('/python/test.py',os.F_OK)  #是否存在
os.access('/python/test.py',os.R_OK)  #是否可读
os.access('/python/test.py',os.W_OK)  #是否可写
os.access('/python/test.py',os.X_OK)  #是否可执行

 

7、os.chmod()
方法用于更改文件或目录的权限。修改的权限的操作会覆盖以前的权限,只保留修改后的权限

权限指定:
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下取消只读

import stat, os
os.chmod('/python/test.py',stat.S_IXOTH)  #其他用户有可执行权限

 

8、os.chown()
方法用于更改文件所有者,如果不修改可以设置为 -1, 你需要超级用户权限来执行权限修改操作。
只支持在 Unix 下使用???
os.chown('/python/test.py',0,0) #设置文件的UID为0,root用户,GID为0,root组

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值