Python中对操作系统的查看与操作(os模块)

1. 返回操作系统类型

返回值:posix是linux操作系统
返回值:nt是windows操作系统

import os

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

输出结果:

posix
Linux

2. 操作系统的详细信息

os.uname() 获得操作系统详细信息
其中的每个信息可以单独取出查看 eg:info.sysname, info.nodename

import os

info = os.uname()
print(info)
print(info.sysname)
print(info.nodename)

输出结果:

posix.uname_result(sysname='Linux', nodename='foundation1.ilt.example.com', release='3.10.0-514.el7.x86_64', version='#1 SMP Wed Oct 19 11:24:13 EDT 2016', machine='x86_64')
Linux
foundation1.ilt.example.com

3. 系统的环境变量

import os

print(os.environ)
print(os.environ.get('PATH'))

输出结果:

environ({'PATH': '/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kiosk/.local/bin:/home/kiosk/bin', 'XAUTHORITY': '/run/gdm/auth-for-kiosk-pOXJyF/database', 'IMSETTINGS_MODULE': 'none', 'HISTCONTROL': 'ignoredups', 'XMODIFIERS': '@im=ibus', 'GDMSESSION': 'gnome-classic', 'QT_IM_MODULE': 'ibus', 'HISTSIZE': '1000', 'TERM': 'xterm-256color', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-QGRusFFknB,guid=b787a29d133c821e6e0562f35e32b577', 'LANG': 'en_US.utf8', 'XDG_SESSION_ID': '1', 'XDG_CURRENT_DESKTOP': 'GNOME-Classic:GNOME', 'DISPLAY': ':0', 'MAIL': '/var/spool/mail/kiosk', 'SSH_AGENT_PID': '2177', 'USERNAME': 'kiosk', 'SESSION_MANAGER': 'local/unix:@/tmp/.ICE-unix/2007,unix/unix:/tmp/.ICE-unix/2007', 'LOGNAME': 'kiosk', 'PWD': '/home/kiosk/PycharmProjects/kane/2020.1.30', 'PYCHARM_HOSTED': '1', '_': '/home/kiosk/pycharm-community-2019.2.1/jbr/bin/java', 'WINDOWID': '54525959', 'PYTHONPATH': '/home/kiosk/PycharmProjects/kane', 'LESSOPEN': '||/usr/bin/lesspipe.sh %s', 'GDM_LANG': 'en_US.utf8', 'SHELL': '/bin/bash', 'PYTHONIOENCODING': 'UTF-8', 'DESKTOP_SESSION': 'gnome-classic', 'GPG_AGENT_INFO': '/run/user/1000/keyring/gpg:0:1', 'OLDPWD': '/home/kiosk/pycharm-community-2019.2.1/bin', 'USER': 'kiosk', 'XDG_MENU_PREFIX': 'gnome-', 'WINDOWPATH': '1', 'VTE_VERSION': '3804', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'XDG_SEAT': 'seat0', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'PYTHONUNBUFFERED': '1', 'HOSTNAME': 'foundation1.ilt.example.com', 'IMSETTINGS_INTEGRATE_DESKTOP': 'yes', 'GNOME_SHELL_SESSION_MODE': 'classic', 'XDG_RUNTIME_DIR': '/run/user/1000', 'XDG_SESSION_DESKTOP': 'gnome-classic', 'LS_COLORS': 'rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:', 'XDG_VTNR': '1', 'HOME': '/home/kiosk', 'SHLVL': '3'})
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kiosk/.local/bin:/home/kiosk/bin

4. 绝对路径

4.1 判断是否是绝对路径

os.path.isabs(要判断的路径) 可以判断是否是绝对路径
其返回值为True或False

import os

print(os.path.isabs('/tmp/haha'))
print(os.path.isabs('hello'))

输出结果:

True
False

4.2 生成绝对路径

os.path.abspath() 返回绝对路径
os.path.join() 把目录和文件名合成一个路径

import os

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

输出结果:

/home/kiosk/PycharmProjects/kane/2020.1.30/hello.png
/home/kiosk/PycharmProjects/kane/2020.1.30/hello
/home/kiosk/python.jpg

5. 获取目录名和文件名

os.path.basename 获取文件名
os.path.dirname 获取目录名

import os

filename = '/home/kiosk/Desktop/filename'
print(os.path.basename(filename))
print(os.path.dirname(filename))

输出结果:

filename
/home/kiosk/Desktop

6. 创建和删除目录

6.1 创建目录

os.mkdir 创建目录
os.makedirs 递归创建目录

import os

os.mkdir('img')
os.makedirs('img/1/2')

输出结果:
在这里插入图片描述

6.2 删除目录

os.rmdir
注意:不能递归删除

import os

os.rmdir('img/1/2')      # 删除img目录下1目录下的2目录

输出结果:
在这里插入图片描述

7. 创建和删除文件

7.1 创建文件

os.mknod 创建文件

import os

os.mknod('00_ok.txt')

输出结果:
在这里插入图片描述

7.2 删除文件

os.remove 删除文件

import os

os.remove('00_ok.txt')

8. 文件的重命名

os.rename 重命名

import os

os.rename('ips.txt','ips2.txt')   ## 把ips.txt重命名为ips2.txt

输出结果:
在这里插入图片描述

9. 文件名和目录名

9.1 判断文件或目录名是否存在

os.path.exists

import os

print(os.path.exists('ips2.txt'))

输出结果:

True

9.2 分离后缀名和文件名

os.path.splitext

import os

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

输出结果:

('hello', '.jpg')

9.3 将目录名和文件名分离

os.path.split

import os

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

输出结果:

('/tmp/hello', 'hello.png')
发布了63 篇原创文章 · 获赞 6 · 访问量 1463

猜你喜欢

转载自blog.csdn.net/weixin_45775963/article/details/104114011