文件路径兼容window和linux

1.出现场景

相信做软件测试的同学在写好Py脚本在windows平台运行通过后,就会想到把脚本代码迁移到linux或其他平台运行,而不是只在本地机器上跑(工作电脑一般下班后关机,而迁移的linux机器24小时待命)。
然而,在linux运行时却看到“文件夹不存在”的提示,查其原因,原来是windows的文件绝对路径是以“\”分割,而linux机器是以“/”分割,在把某个路径加入sys.path时失败所以import这个路径下的文件报错了。
如果没有遇到这种问题,可以出门左转了!

2.解决思路

既然2个平台在路径格式上有不同的要求,那么我先判断当前代码在哪个平台运行再区别添加路径不就好了吗?实现代码如下:

import sys
# 如果是windows平台,路径格式以\\分割;如果是linux格式,以/分割。
if sys.platform == 'win32':
	sys.path.append('..\\..')	#向上移动2个文件级别
elif sys.platform == 'linux':
	sys.path.append('../..')
else:
	pass
# 导入新目录下的Tests,即是__init__.py内容
import Tests

有没有第二种解呢?我暂时没想出,但是我想到平时聊的测试群,发到群里问问。
果不其然,这种问题有人遇到并有不同的看法。大佬A说:linux的文件格式同样适用windows平台,你只需全部转成“目录/文件/…”的格式就好了。实验之,所言非虚,这种办法甚好!

3.最终解法

修改文件路径导入和定义文件路径的代码:

import sys
sys.path.append('../..')
# 导入新目录下的Tests,即是__init__.py内容
import Tests

# 定义测试文件路径
test_file = Tests.cur_dir.replace('\\', '/') + '/files/Api_Test_Cases.xls'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值