【北冥神功】《Python卷》之 <OS文件操作篇>: OS运用记录《冥息诀》(1)

本文介绍了os.path模块在Python中的三个关键函数:os.path.realpath获取真实路径,os.path.dirname获取目录名,os.path.join合并路径。这些功能在自动化测试框架中用于确定脚本位置和构建路径,实现跨平台兼容性。
摘要由CSDN通过智能技术生成

(1)os.path.realpath(file)的作用
在Python中,os.path.realpath(file) 是一种常用的技巧,用于获取当前执行文件的绝对路径。

file 是一个特殊的内置变量,它表示当前执行文件的名称,包括文件路径。

os.path.realpath 函数则用于解析这个路径,返回它的真实路径,即去除任何符号链接的路径。

这里是一个简单的例子:

import os

# 获取当前文件的绝对路径
real_path = os.path.realpath(__file__)

print(real_path)
# 假设脚本位于  /home/user/projects/my_script.py

# -> 输出结果
/home/user/projects/my_script.py

需要注意的是,这个技巧在有些情况下可能不适用,比如:
当脚本以交互方式运行时(如在Python shell中粘贴代码),file 可能不存在。
如果脚本被当作模块导入到另一个脚本中,file 将指向导入的脚本,而不是运行的脚本。

(2)os.path.dirname 的作用
在Python中,os.path.dirname 是 os.path 模块的一个函数,它用于获取一个路径字符串中的目录名称部分。具体来说,它会返回路径中的最后一个分隔符(如/或\)之前的内容,不包括文件名。

os.path.dirname(path) 接受一个字符串参数 path,path表示一个文件路径。

举个例子:

import os

path = "/home/user/documents/file.txt"
dirname = os.path.dirname(path)

print(dirname)  # 输出: /home/user/documents

在这个示例中,path 是一个文件路径,os.path.dirname(path) 返回该路径的目录部分 “/home/user/documents”。

os.path.dirname 在处理文件路径时非常有用,可以使用它来提取文件所在的目录,进而进行目录操作、文件操作或其他相关操作。

(3)os.path.join的作用

在Python中,os.path.join 是一个非常实用的函数,用于将多个路径组件合并为一个完整的路径字符串。这个函数会智能地处理目录分隔符(如 Unix 系统中的 ‘/’ 和 Windows 系统中的 ‘’),确保返回的路径在当前操作系统中是有效的。
函数的基本用法如下:

import os

path1 = "part1"
path2 = "part2"
path3 = "part3"

result = os.path.join(path1, path2, path3)

print(result)
# 在Unix系统中, result = "part1/part2/part3"
# 在Windows系统中, result = "part1\part2\part3"

意义:
使用 os.path.join 是创建路径的推荐方式,因为它可以确保跨平台兼容性,避免直接拼接字符串可能引入的错误。

(3)os.path.realpath、os.path.dirname,os.path.join组合运用
举例:

import os
# 写法一:
# 获取当前文件的绝对路径
real_path = os.path.realpath(__file__)

# 获取当前文件所在的目录路径
SCRIPT_DIR = os.path.dirname(real_path)

# 写法二:
# SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))

print("脚本目录:", SCRIPT_DIR)

WASHING_MACHINE_KCD_PATH = os.path.join(SCRIPT_DIR, 'system.kcd')
print('KCD路径:'WASHING_MACHINE_KCD_PATH)

输出:

# 如果脚本位于 E:\home\user\projects\my_script.py

# -> 输出结果
脚本目录:E:\home\user\projects
KCD路径:E:\home\user\projects\system.kcd

这行代码是用来确定当前脚本的目录路径的一种常见做法,搭建自动化测试框架非常有用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值