当前位置:   article > 正文

Python中的os模块_pycharm中os

pycharm中os


import os os 模块的导入

1. 操作系统类型获取 os.name

取值系统
ntwindows系统
posixlinux系统
import os
print(os.name )
print('windows' if os.name=='nt' else 'linux')
  • 1
  • 2
  • 3

在这里插入图片描述

2. 操作系统的详细信息 os.uname

info=os.uanme() 包含操作系统类型以及主机名称
(1)操作系统类型

info.sysname()
  • 1

(2)主机名称

info.nodename()
  • 1

3. 系统的环境变量 os.environ

>>> import os
>>> os.environ
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\admin\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'DESKTOP-G43NB6A', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\admin', 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_131\\', 'LOCALAPPDATA': 'C:\\Users\\admin\\AppData\\Local', 'LOGONSERVER': '\\\\DESKTOP-G43NB6A', 'NUMBER_OF_PROCESSORS': '8', 'ONEDRIVE': 'C:\\Users\\admin\\OneDrive', 'ONEDRIVECONSUMER': 'C:\\Users\\admin\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Java\\jdk1.8.0_131\\bin;C:\\Program Files\\Java\\jre1.8.0_131\\bin;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\pycharm\\PyCharm 2019.2.1\\bin;', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 142 Stepping 11, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '8e0b', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PUBLIC': 'C:\\Users\\Public', 'PYCHARM': 'C:\\pycharm\\PyCharm 2019.2.1\\bin;', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\admin\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\admin\\AppData\\Local\\Temp', 'USERDOMAIN': 'DESKTOP-G43NB6A', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-G43NB6A', 'USERNAME': 'admin', 'USERPROFILE': 'C:\\Users\\admin', 'WINDIR': 'C:\\Windows'})
  • 1
  • 2
  • 3

返回一个字典,通过key的值获取环境变量的value值

>>> os.environ.get('PATH')
'C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Java\\jdk1.8.0_131\\bin;C:\\Program Files\\Java\\jre1.8.0_131\\bin;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\pycharm\\PyCharm 2019.2.1\\bin;'
  • 1
  • 2

4. 判断路径是否是绝对路径

os.path.isabs('/user') 判断’/user’是否是绝对路径 返回bool值

>>> os.path.isabs('/user')
True
>>> os.path.isabs('hello')
False
  • 1
  • 2
  • 3
  • 4

5. 生成绝对路径

(1)生成当前路径下的文件路径

>>> os.path.abspath('hello.png')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\hello.png'
>>> os.path.abspath()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: abspath() missing 1 required positional argument: 'path'
>>> os.path.abspath('.')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

(2)生成指定路径下的绝对路径

>>> os.path.abspath('.')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37'
>>> os.path.join(os.path.abspath('.'),'text')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\text'
>>> os.path.join(os.path.abspath('/user'),'hello')
'C:\\user\\hello'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6. 获取目录名和文件名

filename=os.path.abspath('.')
  • 1

(1)获取目录名

>>> filename=os.path.abspath('.')
>>> os.path.basename(filename)
'Python37'
  • 1
  • 2
  • 3

(2)获取文件名

>>> os.path.dirname(filename)
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python'
  • 1
  • 2

7. 创建目录

(1)创建单个目录

os.mkdir('img')
  • 1

在这里插入图片描述
(2)递归创建多级目录

os.makedirs('/dir1/dir2/dir3')
  • 1

在这里插入图片描述
(3)删除目录
注意:不能递归删除目录

os.rmdir('img')
  • 1

在这里插入图片描述

8. 文件的创建与删除

(1)文件的创建

os.mknod('ok.txt')
  • 1

(2)文件的删除

os.remove('ok.txt')
  • 1

9. 文件的重命名

对当前目录下的文件,否则会报错

os.rename('oldname','newname')
  • 1

在这里插入图片描述

10. 判断文件或目录是否存在

os.path.exists('data.txt')
  • 1

在这里插入图片描述

11. 分离后缀名和文件名

>>> os.path.splitext('data.txt')
('data', '.txt')
  • 1
  • 2

12. 分离目录与文件名

>>> os.path.split('/user/data.txt')
('/user', 'data.txt')
  • 1
  • 2

在这里插入图片描述

13.获取文件时间戳

os.path.getctime('/etc/passwd')
  • 1

os模块练习

需求:

  1. 在当前目录新建目录img, 里面包含多个文件,
    文件名各不相同(X4G5.png)
  2. 将当前img目录所有以.png结尾的后缀名改为.jpg
import random
import string
import os
#定义函数:生成需求文件名
def create_filename(len=4):
    li=[]
    for i in range(100):
        li.append(''.join(random.sample(string.hexdigits,len )))
    return li
# 建立目录,生成指定文件名的文件
def create_mkdir(dirname):
    os.mkdir(dirname)
    lis=create_filename
    for i in lis:
        os.mknod('/dirname'+i+'.png')
create_mkdir('imm')
def  re_rename(dirname,old_name,new_name):
    if os.path.exists(dirname):
        # 找出以.png结尾的文件
        pngfile=[filename for filename in os.listdir(dirname) if filename.endswith(old_name )]
        # 将文件名和后缀名分离只保留文件名
        basefile=[os.path.splittext(i)[0] for i in pngfile  ]
        for file in basefile:
            oldfilename=os.path.join(dirname,file+old_name)
            newfilename=os.path.join(dirname,file+new_name)
            os.rename(oldfilename,newfilename)
            print("%s重命名%s成功"%(oldfilename,newfilename))
    else:
        print("该目录不存在!")

re_rename('imm','.png','.jpg')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/838574
推荐阅读
相关标签
  

闽ICP备14008679号