Os库基础知识:os.path.join;os.path.exists;os.listdir;os.mkdir等【未完】

Os库的学习

os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都没有提供。

主要内容:os.path.join os.path.exists os.listdir os.mkdir
一开始想要利用pip指令安装这个库,但是总是提示错误
在这里插入图片描述
后来度娘之后发现Os是内置库,我大概学的是个假Python…
在这里插入图片描述
由于在JupyterNotebook上面得到的路径都些许的奇怪

明明应该给我的结果是这种格式
在这里插入图片描述
所以这部分代码我都在PyCharm里面运行了
在这里插入图片描述
python os库的使用方法_CSDN

1、路径操作

os.path子库以path为入口,用于操作和处理文件路径

函数 描述
os.path.abspath(path) 返回path在当前系统中的绝对路径os.path.abspath('第四周学习记录.txt')
输出:'E:\20年暑假学习\第四周\PyCharm\第四周学习记录.txt’
关于这个语句有一些疑问
但其实’第四周学习记录.txt’的路径是E:\Amusement\Python\第四周学习记录.txt,
这个函数os.path.abspath(path)返回的路径是我创建的Pycharm程序的路径(因为我是用这个路径下的Pycharm运行的这段代码),
但是这个路径下并没有’第四周学习记录.txt’这个文件
os.path.normpath(path) 归一化path的表示形式,统一用\分割路径
os.path.normpath(r'E:\Amusement\Python\第四周学习记录.txt')
输出:'E:\Amusement\Python\第四周学习记录.txt’
os.path.normpath('E://Amusement//Python//第四周学习记录.txt')
输出:‘E:\Amusement\Python\第四周学习记录.txt’
os.path.relpath(path) 返回当前程序与文件之间的相对路径(relative path)
os.path.relpath(r'E:\Amusement\Python\第四周学习记录.txt')
输出:’…\Amusement\Python\第四周学习记录.txt’
os.path.dirname(path) 返回path中的目录名称os.path.dirname(r'E:\Amusement\Python\第四周学习记录.txt')
输出:‘E:\Amusement\Python’
os.path.basename(path) 返回path中最后的文件名称,如果最后一级也是目录,则返回目录名称
os.path.basename(r'E:\Amusement\Python\第四周学习记录.txt')
输出:'第四周学习记录.txt’
os.path.basename(r'E:\Amusement\Python')
输出:‘Python’
os.path.split(path) 返回path中目录和文件名称,如果path最后一集也是目录,则都返回目录名称如果path只有根路径,返回根路径和空路径
os.path.split(r'E:\Amusement\Python\第四周学习记录.txt')
输出:’(‘E:\Amusement\Python’, ‘第四周学习记录.txt’)‘
os.path.split(r'E:\Amusement\Python')
输出:’(‘E:\Amusement’, ‘Python’)‘
os.path.split(r'E:')
输出:’(‘E:’, ‘’)’
os.path.join(path, *paths) 组合path和paths,返回一个路径字符串
os.path.join(r'E:', r'\Amusement\Python\第四周学习记录.txt')
输出:‘E:\Amusement\Python\第四周学习记录.txt’
os.path.exists(path) 判断path对应文件或目录是否存在,返回True或False
os.path.exists('第四周学习记录.txt') # 不在此程序的目录下输出:'False’
os.path.exists('Test.txt') # 在此程序的目录下输出:‘True’
os.path.isfile(path) 判断path所对应是否为已存在的文件,返回True或False
os.path.isfile(r'E:\Amusement\Python\第四周学习记录.txt')输出:‘True’
os.path.isdir(path) 判断path所对应是否为已存在的目录,返回True或False
os.path.isdir(r'E:\Amusement\Python')输出:‘True’
os.path.getmtime(path) 返回path对应文件或目录最近一次的修改时间
os.path.getmtime(r'E:\Amusement\Python\第四周学习记录.txt')输出:‘1596015422.8338652’
os.path.getatime(path) 返回path对应文件或目录上一次的访问时间
os.path.getatime(r'E:\Amusement\Python\第四周学习记录.txt')输出:‘1596015422.8338652’
os.path.getctime(path) 返回path对应文件或目录创建时间。windows系统中,上一次访问时间等于创建时间
os.path.getctime(r'E:\Amusement\Python\第四周学习记录.txt') 输出:‘1596012914.8609786’
os.path.getsize(path) 返回path对应文件的大小,以字节为单位
os.path.getsize(r'E:\Amusement\Python\第四周学习记录.txt')输出:‘96’

PyCharm中可执行代码如下

import os

# 返回path在当前系统中的绝对路径
# 但其实'第四周学习记录.txt'的路径是E:\Amusement\Python\第四周学习记录.txt,
# 这个函数返回的路径是我创建的Pycharm程序的路径
# (因为我是用这个路径下的Pycharm运行的这段代码),
# 但是这个路径下并没有'第四周学习记录.txt'这个文件
print(os.path.abspath('第四周学习任务.docx'))
print(os.path.abspath('第四周学习记录.txt'))

# 归一化path的表示形式,统一用\分割路径
print(os.path.normpath(r'E:\530实验室\政源学长\20年暑假学习\第四周\PyCharm\第四周学习任务.docx'))
print(os.path.normpath('E://530实验室//政源学长//20年暑假学习//第四周//PyCharm//第四周学习任务.docx'))
print(os.path.normpath(r'E:\Amusement\Python\第四周学习记录.txt'))
print(os.path.normpath('E://Amusement//Python//第四周学习记录.txt'))

# 返回当前程序与文件之间的相对路径(relative path)
print(os.path.relpath(r'E:\Amusement\Python\第四周学习记录.txt'))

# 返回path中的目录名称
print(os.path.dirname(r'E:\Amusement\Python\第四周学习记录.txt'))

# 返回path中最后的文件名称,如果最后一级也是目录,则返回目录名称
print(os.path.basename(r'E:\Amusement\Python\第四周学习记录.txt'))
print(os.path.basename(r'E:\Amusement\Python'))

# 返回path中目录和文件名称,如果path最后一集也是目录,
# 则都返回目录名称如果path只有根路径,返回根路径和空路径
print(os.path.split(r'E:\Amusement\Python\第四周学习记录.txt'))
print(os.path.split(r'E:\Amusement\Python'))
print(os.path.split(r'E:'))

# 组合path和paths,返回一个路径字符串
print(os.path.join(r'E:', r'\Amusement\Python\第四周学习记录.txt'))

# 判断path对应文件或目录是否存在,返回True或False
print(os.path.exists('第四周学习记录.txt'))  # 不在此程序的目录下
print(os.path.exists('Test.txt'))  # 在此程序的目录下

# 判断path所对应是否为已存在的文件,返回True或False
print(os.path.isfile(r'E:\Amusement\Python\第四周学习记录.txt'))
print(os.path.isfile(r'E:\Amusement\Python'))  # 这里的路径是文件夹的路径,函数的结构为False

# 判断path所对应是否为已存在的目录,返回True或False
print(os.path.isdir(r'E:\Amusement\Python'))

# 返回path对应文件或目录最近一次的修改时间
print(os.path.getmtime(r'E:\Amusement\Python\第四周学习记录.txt'))  # 1596015422.8338652

# 返回path对应文件或目录上一次的访问时间
print(os.path.getatime(r'E:\Amusement\Python\第四周学习记录.txt'))  # 1596015422.8338652

# 返回path对应文件或目录创建时间。windows系统中,上一次访问时间等于创建时间
print(os.path.getctime(r'E:\Amusement\Python\第四周学习记录.txt'))  # 1596012914.8609786

# 返回path对应文件的大小,以字节为单位
print(os.path.getsize(r'E:\Amusement\Python\第四周学习记录.txt'))  # 96

2、进程管理

os.system(command)

  • 执行程序或命令command
  • 在windows系统中,返回值为cmd的调用返回信息

如下例,调用计算器返回值为0

import os
os.system(r'C:\Windows\system32\calc.exe')  # 打开计算器 返回值为0

调用网易云音乐,成功打开但是出现了很多错误提示

import os
os.system(r'D:\ProgramFiles\CloudMusic\cloudmusic.exe')

在这里插入图片描述

  • 部分错误提示:
    在这里插入图片描述
  • 调用Arctime Pro但是失败了
import os
os.system(r'D:\ProgramFiles\ARCTIME_PRO_2.4_WIN64\Arctime Pro.exe')

在这里插入图片描述

3、环境参数

  • 这部分没有整理完!!

未整理完!!!

Python OS 文件/目录方法_菜鸟教程

(1)os.mkdir()

概述
os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 0777 (八进制)。
数字权限管理(Digital Rights Management)是保护多媒体内容免受未经授权的播放和复制的一种方法。

语法

os.mkdir(path[, mode])

参数

  • path – 要创建的目录
  • mode – 要为目录设置的权限数字模式

返回值
没有返回值

实例

import os, sys

path = "E:\Amusement\TestMkdir"
os.mkdir(path, 0o755);

在这里插入图片描述

(2)os.listdir()

概述
返回指定的文件夹包含的文件或文件夹的名字的列表

语法

os.listdir(path)

参数

  • path – 需要列出的目录路径

返回值
返回指定路径下的文件和文件夹列表

实例

# 返回path目录下所有文件 以列表形式输出
import os
print(os.listdir(r'E:\Amusement'))  
# 一个为一行输出
import os
# 打开文件
path = "E:\Amusement"
dirs = os.listdir(path)
# 输出所有的文件和文件夹
for file in dirs:
    print(file)

猜你喜欢

转载自blog.csdn.net/weixin_43232564/article/details/107768749