Python 命令行里的相对路径参数转换成绝对路径
2022/5/28 1:19:32
本文主要是介绍Python 命令行里的相对路径参数转换成绝对路径,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最近开发的一个tool, 用户在使用的过程中发现, 如果用户输入的参数是一个相对路径,
tool 就会找不到文件的位置然后报错。
举个简单例子 tool cmd 是 python test.py -p config.file
py 脚本里的参数解析模块 argparse 获取到的实际参数就是 config.file, 这个显然不是符合预期的。
os.path.abspath 方法可以轻松帮助开发者获取到一个相对路径的绝对路径, 它的工作逻辑分成下面两种情况:
a) 输入参数本身就是一个绝对路径, 直接返回这个输入参数
b) 输入参数不是一个绝对路径, 返回的是 当前工作目录 + 输入参数
可以通过遍历每个参数 判断参数是一个path的前提下, 把它修改成绝对路径
for key, value in args.__dict__.items(): if isinstance(value, str) and key != "version" and value: args.__dict__[key] = os.path.abspath(value)
这里的判断规则是:
1) 实例是string类型
2)实例非空
3)过滤到 key 是 ”verison“” 的情况, 因为tool参数version不是一个路径信息, 所以不需要进行相对路径转换
你可以根据你的实际情况来制定准确的判断标准。
这样子 在命令行里运行 打包好的exe 或者 py文件都是可以正常解析相对路径
但如果在pycharm里运行可能还是不行,
因为 pycharm 设置的默认的工作目录不是你想要的,
这个时候我们可以修改 pycharm里的工作目录
修改方法如下
这篇关于Python 命令行里的相对路径参数转换成绝对路径的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享