python3 osModule.py

"""
模块:python3 osModule.py
功能:python3 os 模块常用方法记录。
参考:https://www.runoob.com/python3/python3-os-file-methods.html
1.os.listdir(path=None) -> 指定路径下的文件和文件夹列表。
    返回指定的文件夹path包含的文件或文件夹的名字的列表。
    这个列表以字母顺序。它不包括 '.' 和'..' 即使它在文件夹中。
    只支持在 Unix, Windows 下使用。

    path -- 需要列出的目录路径
    path 可以指定为str或字节。
    如果 path 是字节,返回的文件名也将是字节;
    其他情况,返回的文件名将会是字符串。
    如果path 是空, 请使用 path='.'。

    在某些平台上,路径也可以指定为打开的文件描述符,这个文件描述符必须引用目录。
    如果此功能不可用,则使用它将触发 NotImplementedError.
"""
import os

# 一、os 模块。
# 1.1.os.listdir(path)
path = "F:\Gaoshengjie\python3知识点"
filesFolders = os.listdir(path)
print("1.1.filesFolders:", filesFolders)
# 1.1.filesFolders: ['django的开发流程.txt', 'flush.py', 'flush.txt',
# 'python基础', 'regexp.py', '我的整理', '算法题.txt', '类型程序']

# 1.2.os.getcwd() -> 当前工作目录
print("1.2.cwd:", os.getcwd())
# 1.2.cwd: F:\Gaoshengjie

# 1.3.os.mkdir(path[, mode])
# 以数字权限模式创建目录。默认的模式为 0777 (八进制)。
# path -- 要创建的目录
# mode -- 要为目录设置的权限数字模式
# 注:经测试,此函数一次只能创建一级目录(不能嵌套)。
# 当目录已经存在,报错 FileExistsError。
# path = "tmp"
# os.mkdir(path)

# 1.4.os.makedirs(path, mode=0o777)
# 递归创建目录。像 mkdir(),
# 但创建的所有intermediate-level文件夹需要包含子目录。
# path -- 需要递归创建的目录。
# mode -- 权限模式。
# 注:当目录已经存在时,报错 FileExistsError。
# 磁盘的根路径。
# path = "/tmp/home/monthly/daily"
# 当前目录下的目录。
path = "tmp/home/monthly/daily"
# os.makedirs(path, 0o777)

# 二、os.path 模块
# 参考:https://www.runoob.com/python3/python3-os-path.html
# 2.1.os.path.basename() -> 返回文件名
print("2.1.", os.path.basename('/root/runoob.txt'))
# 2.1. runoob.txt

# 2.2.os.path.dirname() -> 目录路径
print("2.2.")
print(os.path.dirname('c:/root/runoob.txt'))  # c:/root
print(os.path.dirname('root/runoob.txt'))  # root
print(os.path.dirname('https://www.runoob.com/python3/python3-os-path.html'))
# https://www.runoob.com/python3

# 2.3.os.path.split() -> 分割文件名与路径
print("2.3.", os.path.split('D:/root/runoob.txt'))
# 2.3. ('D:/root', 'runoob.txt')

# 2.4.os.path.join(path1[, path2[, ...]])
# 把目录和文件名合成一个路径
print("2.4.\n", os.path.join('root', 'test', 'runoob.txt'))
# 2.4. root\test\runoob.txt
baseUrl = "http://lab.earthsdk.com/ge"
relUrl = "./pb=!1m2!1s12624360!2u866.json"
relUrl2 = "../NodeData/pb=!1m2!1s12624360!2u849!2e1!3u708!4b0.b3dm"
print(os.path.join(baseUrl, relUrl))
# http://lab.earthsdk.com/ge\./pb=!1m2!1s12624360!2u866.json
print(os.path.join(baseUrl, relUrl2))
# http://lab.earthsdk.com/ge\../NodeData/pb=!1m2!1s12624360!2u849!2e1!3u708!4b0.b3dm

# 2.5 os.path.getsize() -> 文件大小(字节为单位)
file = "cs3.py"
print("2.5.", os.path.getsize(file), "B")
# 2.5. 2172 B

# 2.6.文件时间
print("2.6.createTime:", os.path.getctime(file))  # 输出文件创建时间
print("2.6.accessTime:", os.path.getatime(file))  # 输出最近访问时间
print("2.6.modifyTime:", os.path.getmtime(file))  # 输出最近修改时间
# 2.6.createTime: 1577324379.03476
# 2.6.accessTime: 1586516640.4898188
# 2.6.modifyTime: 1586516640.4907808

# 2.7.文件路径。
print("2.7.", os.path.abspath(file))  # 输出绝对路径
print("2.7.", os.path.normpath(file))  # 规范path字符串形式
# 2.7. F:\Gaoshengjie\cs3.py
# 2.7. cs3.py

# 2.8.路径判断。
print("\n2.8.")
# 2.8.1.os.path.exists(path) -> True/False
# 路径存在则返回 True, 路径损坏返回False
# 注:路径,既包括目录路径,也包括文件路径!
print(os.path.exists("生活"))  # True
print(os.path.exists("cs.txt"))  # True
# os.path.isfile(path) 判断路径是否为文件
# os.path.isdir(path)  判断路径是否为目录
# os.path.islink(path) 判断路径是否为链接

# 2.9.os.path.normcase(path)
# 将 path中的大写 -> 小写,"/" -> "\"。
path = r"/tMP/home\see"
print("2.9.path:", os.path.normcase(path))
# 2.9.path: \tmp\home\see

# 2.10.os.path.relpath(path[, start])
# 从start开始计算相对路径
print("2.10.", os.path.relpath(r"F:\Gaoshengjie\cs3.py", "F:/"))
# Gaoshengjie\cs3.py



发布了197 篇原创文章 · 获赞 61 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/weixin_42193179/article/details/105458147