下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

python应用:Python常用库 - os库

作者:小菠萝测试笔记     来源: https://www.cnblogs.com/poloyy/p/12341231.html点击数:922发布时间: 2020-02-26 14:24:19

标签: python开发视频编程语言Python语言视频

大神带你学编程,欢迎选课

在您开始之前,在你的计算机将需要Python,但您可能不需要下载它。首先检查(在同级目录下在命令行窗口输入python)有没有安装Python。如果你看到了一个Python解释器的响应,那么就能在它的显示窗口中得到一个版本号。通常的版本都可以做到Python的向前兼容。

os 模块提供了非常丰富的方法用来处理文件和目录

|2os关于目录路径的方法

 

 1 # 获取当前路径
 2 path = os.getcwd()
 3 
 4 # 获取当前绝对路径
 5 os.path.abspath(path)
 6 
 7 # 创建一级目录
 8 os.mkdir(path)
 9 
10 # 删除空目录
11 os.rmdir(path)
12 
13 # 创建多级目录
14 os.makedirs(path)
15 
16 # 删除多级空目录
17 os.removedirs(path)
18 
19 # 修改路径为path
20 os.chdir(path)

包含知识点

  • rmdir的path,如果目录非空,则抛出一个OSError异常
  • 多级目录是指 /test/testing/test,如果三个目录都不存在则都会创建

|3os关于文件的方法

 

# 获取当前路径下所有文件、文件夹
os.listdir(path)

# 创建文件方式一
f = os.open(path + "test.txt", flags=os.O_CREAT | os.O_RDWR )

# 写入文件
os.write(f, bytes("123",encoding="utf-8"))

# 读取文件
print(os.read(f,12))

# 关闭文件
os.close(f)

# 重命名文件
os.rename(path + "test.txt", path + "tests.txt")

# 删除文件
os.remove(path + "tests.txt")
# 递归返回path下的目录(包括path目录)、子目录、文件名的三元组 for root, dirname, filenames in os.walk(path): logzeros.debug(root) logzeros.debug(dirname) logzeros.debug(filenames)

包含知识点

listdir 返回的是一个列表,若没有文件则返回空列表

os.write(fd, str) 用于写入bytes字符串到文件描述符 fd 中. 返回实际写入的字符串长度

os.read(fd,n) 用于从文件描述符 fd 中读取最多 n 个字节,返回包含bytes字符串

关于 open() 可看此博客: https://www.cnblogs.com/poloyy/p/12350158.html 

关于 os.walk(path) 可看此博客: https://www.cnblogs.com/poloyy/p/12349230.html 

 

1|0os.path相关

 

1|1os.path.realpath(__file__) 

 

获取当前文件所在目录

path = os.path.realpath(__file__)
print(path)

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\os_path_learn.py

 

1|2os.path.abspath(path) 

 

获取当前path所在路径

path = os.path.abspath(".")
print(path)

path = os.path.abspath(os.path.realpath(__file__))
print(path)

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\os_path_learn.py

第一行代码跟 os.getcwd() 很像

path = os.getcwd()
print(path)

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn

 

1|3os.path.dirname(path) 

 

返回path的所在目录的路径

 
print(os.path.dirname(r'C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\os_path_learn.py'))

print(os.path.dirname(r'C:\\Users\\user\\Desktop\\py\\moocInterface\\learn'))

# 表示获取当前文件所在目录的上一级目录,即项目所在目录C:\\Users\\user\\Desktop\\py\\moocInterface
print(os.path.dirname(os.path.abspath('.'))) 
 

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn
C:\\Users\\user\\Desktop\\py\\moocInterface
C:\\Users\\user\\Desktop\\py\\moocInterface

 

1|4os.path.split(path) 

 

分离文件名和扩展名,返回(filename文件名,fileextension文件扩展名)二元组

# 目录
os.path.split(os.getcwd())

# 文件
os.path.split(os.path.realpath(__file__))

运行结果

('C:\\\\Users\\\\user\\\\Desktop\\\\py\\\\moocInterface', 'learn')
('C:\\\\Users\\\\user\\\\Desktop\\\\py\\\\moocInterface\\\\learn', 'os_path_learn.py')

 

1|5os.path.join()

 

用于路径拼接,将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

 
# 拼接目录
new_path = os.path.join(os.getcwd(), "test")
print(new_path)

# 拼接文件
new_path = os.path.join(os.getcwd(), "test.txt")
print(new_path)

# 拼接多重目录
new_path = os.path.join(os.getcwd(), "test/test/test")
print(new_path)

# 拼接多个目录、文件
new_path = os.path.join(os.getcwd(), "test", "Test", "ok.txt")
print(new_path)
 

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test.txt
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test/test/test
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test\\Test\\ok.txt
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发
赞(10)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程