python-os模块学习,全

这篇具有很好参考价值的文章主要介绍了python-os模块学习,全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目前,计算机上主流的操作系统有Windows、Unix、Mac OS等,os模块为多操作系统的访问提供了相关功能的支持,涉及对文件相关操作功能的实现,系统访问path路径的操作,shell命令行操作,Linux扩展属性的操作,流程管理,CPU等硬件相关信息的获取,基于操作系统的真正的随机数的操作及相关的一些系统常量进行介绍。

1. os库基本介绍

Os库提供通用的、基本的操作系统交互功能

  • Os库是python标准库,包含几百个函数
  • 常用路径操作、进程管理、环境参数等几类
  • 路径操作:os.path子库,处理文件路径及信息
  • 进程管理:启动系统中其他程序
  • 环境参数:获得系统软件硬件信息等环境参数

2. 导库

在python中,使用到一个库的时候,需要使用到 import 将这个库导入到当前的工作空间中,其中,导入的方式有下面几种

# 1.使用 import 导入
import 库名
import 库名1,库名2,...  # 导入多个库

# 2.使用 from
from 库名 import 函数名 # 导入指定的方法
from 库名 import *     # 导入该库中所有的方法

# 3.使用 as
import 库名 as 别名  # 防止库名太长,不好记
from 库名 import 函数名 as 别名 # 导入库中的某个方法,为其设置别名

os系统

os.system()

os.system("mv a.txt b.txt")

# 可以将 "mv a.txt b.txt" 作为当前操作系统的命令进行使用

os.name

import os
print(os.name)  # 打印当前系统类型
print(type(os.name))  # 打印返回值类型

3.文件和目录的常用操作

函数 功能描述
os.getced() 获取当前的路径
os.chdir(x) 将当前的工作目录更改为x
os.rename(x,y) 将指定路径的文件或目录 x 重命名为 y
os.remove(x) 删除指定路径文件 x (如果指定到一个目录,则会报错)
os.mkdir(x) 创建指定路径的新目录 x (如果存在,则报错)
os.rmdir(x) 删除指定路径x的空目录(如果目录不为空,则报错)
os.makedirs(x) 递归地创建路径x中的多级目录(如果目录已存在,则不回发生任何操作)
os.removedirs(x) 递归地删除路径 x 中所有为空的目录

当前目录以及下面的文件

# tree /root/python
python
└── os
    ├── a.txt
    └── main.py

os.getced()

# 当前路径 /root/python/os

import os
a = os.getcwd()
print(a)

# 输出: /root/python/os

os.chdir(x)

# 当前路径 /root/python/os

import os
a = os.getcwd()
print(a)
os.chdir("/opt/")
a = os.getcwd()
print(a)

# 输出: 
# /root/python/os
# /opt

os.rename(x,y)

import os

a = "/root/python/os/a.txt"
b = "/root/python/os/b.txt"
os.rename(a,b)
# tree /root/python
python
└── os
    ├── b.txt
    └── main.py

os.remove(x)

import os
os.remove('/root/python/os/b.txt')

当前目录以及下面的文件

# tree /root/python
python
└── os
    └── main.py

os.mkdir(x)

import os
os.mkdir("/root/python/os/mk")
# tree /root/python
python
└── os
    ├── main.py
    └── mk

os.rmdir(x)

import os
os.rmdir("/root/python/os/mk")
os.rmdir("/root/python/os")

# 执行结果
# Traceback (most recent call last):
#   File "/root/python/os/main.py", line 26, in <module>
#     rmdir()
#   File "/root/python/os/main.py", line 25, in rmdir
#     os.rmdir("/root/python/os")
# OSError: [Errno 39] Directory not empty: '/root/python/os'
# tree /root/python
python
└── os
    └── main.py

os.makedirs(x)

import os
os.makedirs("/root/python/os/mk/dump")
# tree /root/python
python
└── os
    ├── main.py
    └── mk
        └── dump

os.removedirs(x)

import os
os.removedirs("/root/python/os/mk/dump")
# tree /root/python
python
└── os
    └── main.py

4. 路径的常用操作

os.path模块是Python中处理路径信息的常用模块之一,作为os模块的子模块,通常两者一起使用,来操作文件和目录。

路径中要区分绝对路径和相对路径

操作文件路径的函数

函数 功能描述
os.path.basename(path) 返回路径中的最后一项,通常是文件名
os.path.dirname(path) 返回路径得到目录部分
os.path.split(path) 分割路径,将目录和文件名拆开,返回一个二元的元组
os.path.join(path1,path2…) 将多个路径组合为一个完整的路径,返回一个字符串
os.path.abspath(path) 返回指定路径的绝对路径
os.path.basename(path)
import os
name = os.path.basename("/root/python/os/a.txt")
print(name)

# 输出:a.txt  对于是否存在都可以获取到

之后对 /root/python/os/ /root/python/os 这两种情况进行了测试

/root/python/os/ 运行结果为 空

/root/python/os 运行结果为 os

os.path.dirname(path)
import os
name = os.path.diename("/root/python/os/a.txt")
print(name)

# 输出:/root/python/os/  对于是否存在都可以获取到

之后对 /root/python/os/ /root/python/os 这两种情况进行了测试

/root/python/os/ 结果为 /root/python/os/

/root/python/os 结果为 /root/python/

os.path.split(path)
import name
name = os.path.split("/roo/python/os/a.txt")
print(name)

# 输出结果 ('/roo/python/os', 'a.txt')
os.path.join(path1,path2…)
import os
name = os.path.join("/1/","2/","3/")
print(name)

# 输出结果 /1/2/3/
os.path.abspath(path)
import os
name = os.path.abspath("../../.ssh")
print(name)

# 输出结果  /root/.ssh

获取文件和目录属性的函数

函数 功能描述
os.path.isdir(path) 判断该路径是否为目录,返回 true 或 false
os.path.isfile(path) 判断该路径是否为文件,返回 true 或 false
os.path.isabs(path) 判断该字符串是否为绝对路径,返回 true 或 false
os.path.exists(path) 判断该路径(或文件)是否存在,返回 true或false
os.path.getsize(path) 判断指定文件的大小,单位为字节
os.path.getctime(path) 获取指定文件或目录的创建时间
os.path.getmtime(path) 获取指定文件或目录的修改时间
os.path.isdir(path)
import
dir1 = os.path.isdir("/root/")
print(dir1)
dir2 = os.path.isdir("/root/python/os/a.txt")
print(dir2)

# 执行结果
# True
# False
os.path.isfile(path)
import
file1 = os.path.isfile("/root/")
print(file1)
dir2 = os.path.isfile("/root/python/os/a.txt")
print(file2)

# 执行结果
# False
# True
os.path.isabs(path)
abs1 = os.path.isabs("/root/python")
print(abs1)
abs2 = os.path.isabs("./python")
print(abs2)

# 执行结果
# True
# False
os.path.exists(path)
import os
ex1 = os.path.exists("/root/python")
print(ex1)
ex2 = os.path.exists("/root/os")
print(ex2)

# 执行结果 
# True
# False
os.path.getsize(path)
import os
size = os.path.getsize("/root/")

# 执行结果 
# 4096

python-os模块学习,全,python开发,python,学习,开发语言

os.path.getctime(path)
import os
time = round(os.path.getctime("/root/python/os"))   # round是用来四舍五入的
print(time)

# 执行结果
# 1705043532  这是一个时间戳  

python-os模块学习,全,python开发,python,学习,开发语言

os.path.getmtime(path)
import os
time = round(os.path.getctime("/root/python/os/a.txt"))
print(time)

time1 = round(os.path.getmtime("/root/python/os/a.txt"))
print(time1)

python-os模块学习,全,python开发,python,学习,开发语言

这个修改时间和创造时间一直都是一致的,无法进行测试

文件扩展名函数

在处理数据的时会遇见一种场景,需要对目录中特定的文件进行处理,那怎么获取到一个文件的类型呢? os.path.splitext()函数带你走近这个秘密

os.path.splitext(path)会将路径分为文件名和扩展名,返回一个二元组,位置一是文件名,位置二是扩展名,如果该文件没有扩展名,则第二个元素为空字符串。

os.path.splitext(path)
import os
name1 = os.path.splitext("/root/python/os/a.txt")
print(name1)
name2 = os.path.splitext("/root/python/os/a")
print(name2)

# 输出结果
# ('/root/python/os/a', '.txt')
# ('/root/python/os/a', '')

文件和目录的遍历方法

os.listdir()

os.listdir(path)函数得到一个包含指定目录下所有文件和子目录名称的列表

import os
name = os.listdir("/")
print(name)

# 输出结果: ['wget-log.3', 'dev', 'run', 'wget-log.2', 'var', 'boot', 'media', 'wget-log.1', 'srv', 'ssh', 'usr', 'lib', 'opt', 'lost+found', 'sys', 'root', 'wget-log', 'sbin', 'ssd', '1.txt', 'aaa', 'proc', 'tmp', 'bin', 'mnt', 'snap', 'etc', 'home']

os.walk()

os.walk(path, topdown=True, onerror=None, followlinks=False)函数是一个递归式的遍历,用于遍历指定目录及其目录中的所有文件和目录!

  • path 为要遍历的目录路径。返回的是一个三元组(dirpath,dirnames,filenames),dirpath 为当前遍历的目录树的目录路径,dirnames 为当前目录下所有子目录列表,filenames为当前目录下所有文件列表
  • topdown 为可选参数,为 True 时(默认)表示优先遍历 path目录,即 walk 会遍历 top 文件夹与其每一个子目录。否则会优先遍历 top 的子目录。
  • onerror 为可选的错误处理函数。
  • followlinks为可选参数,为 True 时表示会遍历目录下的快捷方式实际所指的目录,为 False 时(默认)表示优先遍历 top 的子目录。

当我们使用os.walk()函数时,它会从根目录开始遍历整个目录树,并且对于每个目录,都会返回一个三元组

python-os模块学习,全,python开发,python,学习,开发语言

import os
# 递归遍历该目录
walk_tree = os.walk('/root/python')

# 从根目录开始遍历整个目录树,每一个目录都会返回一个三元组,使用for循环依次查看结果
for dirpath,dirnames,filenames in walk_tree:
    print('----------当前遍历的目录树的目录路径----------')
    print(dirpath)

    print('----------当前目录下的所有子目录列表----------')
    # 遍历当前目录下所有的子目录
    for dirname in dirnames:
        # 拼接路径,得到子目录的路径
        dir_name = os.path.join(dirpath, dirname)
        print(dir_name)
    
    print('----------当前目录下所有文件列表----------')
    # 遍历当前目录下所有的文件
    for filename in filenames:
        # 拼接路径,得到文件路径
        file_name = os.path.join(dirpath,filename)
        print(file_name)

python-os模块学习,全,python开发,python,学习,开发语言文章来源地址https://www.toymoban.com/news/detail-816904.html

到了这里,关于python-os模块学习,全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • erlang (OS 操作模块)学习笔记

    cmd: env: 返回所有环境变量的列表。 每个环境变量都表示为元组 {VarName,Value},其中 VarName 是 变量和 Value 其值。 例: {VarName,Value} {\\\"ERLANG_HOME\\\",\\\"C:\\\\Program Files\\\\erl-24.3.4.2\\\\bin\\\\erl-24.3.4.2\\\"} getenv 返回所有环境变量的列表。 每个环境变量都表示为 格式为“VarName=Value”,其中

    2024年01月20日
    浏览(39)
  • Python os模块

    Python的os模块是一个标准库模块,用于提供与操作系统相关的功能(相当于接口)。os模块允许Python程序与文件系统、目录结构、进程管理等操作系统级别的功能进行交互。 文件和目录操作 创建、删除、重命名文件和目录; 获取文件和目录的属性信息,如文件大小、权限等;

    2024年01月19日
    浏览(45)
  • 17 Python的os模块

    概述         在上一节,我们介绍了如何在Python中使用多线程,包括:threading模块、使用线程、创建自定义线程、线程同步等内容。在这一节,我们将介绍Python的os模块。os模块是一个非常强大且有用的模块,它提供了许多与操作系统交互的功能。通过os模块,我们可以轻

    2024年02月07日
    浏览(36)
  • python的os模块详解

            本章介绍python自带模块os,os为操作系统 operating system 的简写,意为python与电脑的交互。主要学习的函数有 os.getcwd()、os.chdir()、os.path.basename()、os.path.join()、os.path.exists()、os.path.isdir()、os.path.isfile()、os.listdir()、os.walk()、os.scandir()、os.stat()、os.mkdir()、os.makedirs()、os.

    2024年02月11日
    浏览(33)
  • python的os模块详细解读

    os是“operating system”的缩写,os模块提供各种 Python 程序与操作系统进行交互的接口,使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性 import os #system() 在python中执行系统命令 相当于运行shell命令,直接显示。在linux里面执行没什么

    2024年01月18日
    浏览(50)
  • python os模块获取文件路径

    1、 # 获取当前工作目录的上一级目录 dir_path = os.path.dirname(os.path.abspath(\\\'.\\\')) 2、获取当前路径: 3、获取当前路径的文件名: file_name = os.path.basename(os.getcwd()) 获取当前路径下所有文件名: file_names = os.listdir(os.getcwd()) 4、字符串正则化 字符串正则化(string normalization)是指将不同

    2024年02月14日
    浏览(38)
  • Python必知必会 os 模块详解

    ❤️ 作者简介 :大家好我是小鱼干儿♛是一个热爱编程、热爱算法的大三学生,蓝桥杯国赛二等奖获得者 🐟 个人主页 :https://blog.csdn.net/qq_52007481 ⭐ 个人社区 :【小鱼干爱编程】 🔥 算法专栏 :算法竞赛进阶指南 💯 刷题网站 :市面上的刷题网站有很多如何选择一个适

    2024年02月03日
    浏览(52)
  • Python模块和包:sys模块、os模块和变量函数的使用

    模块化指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序。模块化具有方便开发、维护和复用的优点。在Python中,每个py文件就是一个模块。 在一个模块中引入外部模块有两种方式: import 模块名 和 import 模块名 as 模块别名 。后者可以

    2024年02月08日
    浏览(33)
  • 【100天精通python】Day20:文件及目录操作_os模块和os.psth模块, 文件路径拼接,目录操作

    目录 专栏导读  1 文件的目录操作  os模块的一些操作目录函数​编辑

    2024年02月14日
    浏览(49)
  • Python中的os模块中的常用方法

    Python中的os模块(Operating System模块)提供了与操作系统交互的函数。以下是一些os模块中常用的方法: 一、文件和目录操作: os.getcwd() : 获取当前工作目录。 os.chdir(path) : 改变当前工作目录。 os.listdir(path=\\\'.\\\') : 返回指定目录下的所有文件和目录列表。 os.mkdir(path) : 创建目录。

    2024年02月03日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包