python3 os.getcwd()和os.path.realpath()区别
2024-10-21 02:59:15
在写一个android手机的自动化测试,用appium+python3,跟室友讨论拟定了一个框架,在写2个通用的简单模块时,遇到问题.
同一个目录下2个模块,driver.py(用于获取app 句柄) 引用 read_conf.py (用于读取配置文件,如appium连接手机时需要的desired_capability),read_conf.py 里面要传递保存desired_capability的配置文件,直接执行read_conf.py没问题,但是在driver.py调用read_conf.py就说找不到section,其实是找不到配置文件,因为路径不对:
pycharm :ctrl+shift+F10 运行driver.py
pycharm :ctrl+shift+F10 运行read_conf.py
后来修改了read_conf.py 模块中获取配置文件路径的方式.就可以了.
事实上,用下图的方法是比较好,这就设计到获取当前文件路径的2个方法的区别:os.path.dirname(os.path.realpath(file)) 和 os.getcwd()的区别:
https://blog.csdn.net/xiaofei0859/article/details/51305218
os.getcwd()获取的当前最外层调用的脚本路径,即getPath所在的目录也可描述为起始的执行目录,A调用B,起始的是A,那么获取的就是A所在的目录路径。
os.path.dirname(os,path.realname(file)):指的是,获得你刚才所引用的模块 所在的绝对路径,__file__为内置属性。
其实我最主要的问题是因为:driver.py本来是在另外的目录创建并运行过,后来直接拖动到common目录,导致getcwd()看到的目录是指调用的目录,跟实际文件存在的目录不一样.为了避免这种情况,当你确切想要的是文件放的目录,那么请用os.path.realpath()
最新文章
- 微信第三方平台定时接收component_verify_ticket
- 《java编程思想》读书笔记 暂停一段时间,改为上面的练习题
- andriod 动态设置TextView 和 RelativeLayou 高度
- java io读书笔记(2)什么是stream
- ElastciSearch常用APi
- HDU 2157 - How many ways??
- 类是公共,它应该被命名为.java文件声明
- JS基础——入门必备
- mysql 使用正则表达式查询
- [CTSC2010]珠宝商 SAM+后缀树+点分治
- 几个js框架
- 获取从库Seconds_Behind_Master监控主从同步
- openwrt支持哪些c库?
- 深入聊聊Java多线程
- msp430学习笔记-IO及低功耗
- Deep Residual Learning for Image Recognition(残差网络)
- 20145326 《Java程序设计》第6周学习总结
- python 3.x 爬虫基础---Requersts,BeautifulSoup4(bs4)
- 点滴积累【C#】---抓取页面中想要的数据
- C语言条件运算符