在写一个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()

python3 os.getcwd()和os.path.realpath()区别的更多相关文章

  1. os.getcwd()、sys.path[0]、sys.argv[0]和__file__的区别,终于弄清楚了

    os.getcwd().sys.path[0].sys.argv[0]和__file__的区别 要分清这几个的区别与使用条件,实际测试一下是最准确的. 设计测试方法: 一个主模块用来运行,一个子模块用 ...

  2. python中os.path.abspath与os.path.realpath 区别

    python中os.path.abspath与os.path.realpath 区别cd /homemkdir amkdir btouch a/1.txtln -s /home/a/1.txt /ho ...

  3. os.getcwd()和os.path.realpath(__file__)的区别

    https://blog.csdn.net/xiaminli/article/details/74944580 python中split().os.path.split()函数用法

  4. [Python3] 030 常用模块 os

    目录 os 1. os.getcwd() 2. os.chdir() 3. os.listdir() 4. os.makedir() 5. os.system() 6. os.getenv() 7. ...

  5. 吴裕雄--天生自然 PYTHON3开发学习:OS 文件/目录方法

    import os, sys # 假定 /tmp/foo.txt 文件存在,并有读写权限 ret = os.access("/tmp/foo.txt", os.F_OK) prin ...

  6. 【python】os.getcwd和getcwdu

    print os.getcwd(), type(os.getcwd()) print os.getcwdu(), type(os.getcwdu()) 结果如下: C:\Users\Administr ...

  7. python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别

    python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别 os.path.realpath 获取当前执行脚本的绝对路径. os.path.rea ...

  8. getcwd() 和 os.path.realpath () 的区别

    http://lemfix.com/topics/7 getcwd()获取当前目录:其他文件调用时,会根据当前文件的位置获取目录,不同的文件调用,值是不一样的. os.path.realpath()获 ...

  9. os.path.abs()与os.path.realpath()的一点区别

    相同点 1. 两者都是返回绝对路径,如果参数path为空,则返回当前文件所在目录的绝对路径 当前py文件所在的目录是revise print(os.path.abspath("") ...

  10. Python3.x:os.listdir和os.walk(获取路径方法)的区别

    Python3.x:os.listdir和os.walk(获取路径方法)的区别 1,os.listdir 使用情况:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir: 例如:d ...

随机推荐

  1. Day21:方法重写以及注意细节

    目录 方法重写 什么是方法重写? 方法重写有什么用? 方法重写的注意细节 方法重写 什么是方法重写? 方法重写指的是当子类和父类出现了一摸一样的方法声明 方法重写有什么用? 当父类中有一个方法时,子类 ...

  2. python调用c++生成的dll

    前言 这个我查询了很多资料,所以到此为止,相当于做一个总结 c++代码如何生成dll #include<iostream> using namespace std; extern &quo ...

  3. python安装包出现的两个问题error: Unable to find vcvarsall.bat、提示No module named Crypto.Cipher

    python安装包出现的两个问题 error: Unable to find vcvarsall.bat No module named Crypto.Cipher error: Unable to ...

  4. 【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析

    Spring Cloud Alibaba Nacos Discovery Spring Boot 应用程序在服务注册与发现方面提供和 Nacos 的无缝集成. 通过一些简单的注解,您可以快速来注册一个 ...

  5. 如何在SpringBoot中优雅地重试调用第三方API?

    前言 作为后端程序员,我们的日常工作就是调用一些第三方服务,将数据存入数据库,返回信息给前端.但你不能保证所有的事情一直都很顺利.像有些第三方API,偶尔会出现超时.此时,我们要重试几次,这取决于你的 ...

  6. 从工具到实践:如何在GitHub上保障开源项目安全?

    1998年,Christine Peterson创造了 "开源软件"这个词.她解释道:"这是刻意为之,为了让其他人更容易理解这个领域".同年,O'Reilly组 ...

  7. 【转载】EXCEL VBA-区域选择

    1- 区域命名 ThisWorkbook.Names.Item("foo").RefersTo =Tabelle1!$A$1:$B$1 ThisWorkbook.Names.Ite ...

  8. CH392/CH395常见问题解决方法指南

    CH395 问题 1: CH395 初始化失败.解答: 1.首先检查"check_exist"命令,正常情况下 CH395 会将该命令的输入值按位取反后输出,若该命令不正常,则说明 ...

  9. [python] 圆形嵌套图Circular Packing

    圆形嵌套图Circular Packing 文章目录 圆形嵌套图Circular Packing 1 具有一级层次的圆形嵌套图绘制 1.1 绘图数据与circlify计算 1.2 图形绘制 1.2.1 ...

  10. Java8时间日期处理新特性

    Java8时间日期处理新特性 简介 伴随lambda表达式.streams以及一系列小优化,Java 8 推出了全新的日期时间API.Java处理日期.日历和时间的不足之处:将 java.util.D ...