Python模块——OS

under Python  tag     Published on February 6th , 2020 at 07:12 am

导入模块

import os

返回操作系统类型

posix是Linux;nt是Windows

print(os.name)
print('Linux' if os.name == 'posix' else 'Windows')

判断是否是绝对路径

print(os.path.isabs('/tmp/ffff'))
print(os.path.isabs('hello.jog'))

True
False

获取当前路径

print(os.getcwd())
/home/kiosk/PycharmProjects/2019python

生成绝对路径的3中方式

print(os.path.abspath('hello.png'))
print(os.path.join(os.path.abspath('.'),'hello.jpg'))       ## .表示当前路径
print(os.path.join('/home/kiosk','hello.jpg'))

/home/kiosk/PycharmProjects/2019python/hello.png
/home/kiosk/PycharmProjects/2019python/hello.jpg
/home/kiosk/hello.jpg

获取目录或文件名

filename = '/1234/year/month/day/hello.jpg'
print(os.path.basename(filename))
print(os.path.dirname(filename))

hello.jpg
/1234/year/month/day

返回指定目录下的所有文件名和目录名 ,返回的是一个列表

print(os.listdir('img'))
['file1']

分离后缀名和文件名

print(os.path.splitext('hello.jpg'))

('hello', '.jpg')

分离目录名和文件名

print(os.path.split('/tmp/hello/hello.jpg'))

('/tmp/hello', 'hello.jpg')

创建目录

os.mkdir('img')
os.makedirs('img/file1/file2')

删除目录

不能递归删除目录,一层一层删

 os.rmdir('img')
 
 OSError: [Errno 39] Directory not empty: 'img'

可以删除多层递归的空目录,若目录中有文件则无法删除

os.removedirs('img/file1/file2')

创建文件 删除文件

os.mknod('00_ok.txt')
os.remove('00_ok.txt')

文件重命名

os.rename('data.txt','data1.txt')

判断文件或目录是否存在

print(os.path.exists('ips.txtyyyy'))
print(os.path.exists('/home/kiosk/PycharmProjects/2019python/ips.txt'))

False
True

判断是否是文件或者目录

print(os.path.isfile('ips.txt'))
print(os.path.isdir('img'))

改变当前目录到指定目录中

print(os.getcwd()) 
path='/tmp'
os.chdir(path)
print(os.getcwd())

/home/kiosk/PycharmProjects/2019python
/tmp

本文由simyng创作, 采用知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
  文章最后更新时间为:February 5th , 2020 at 11:12 pm