1.项目路径
就是你在pycharm打开的哪个目录,这个目录就是你的项目路径
所以导入包的时候就是从该目录下开始导入

如果想让task_211012这个包作为项目的根目录,那么可以通过设置做到
右击选择Mark Directory as-->Sources Root

设置完后,可以看一下效果
task_211012文件的颜色变蓝色了,导入logger时,可以不用写task_211012包名了

虽然可以这么操作,但不要设置太多根目录,否则容易出错
取消设置根目录操作如下:
右击选择Mark Directory as-->Unmark as Sources Root

2.动态获取路径
os 管理系统相关的模块,导入后可直接使用
import os
# 获取当前文件的绝对路径
file_path = os.path.abspath(__file__)
print(file_path)
# 获取某个文件的目录
file_dir = os.path.dirname(file_path)
print(file_dir)
# 路径拼接:相当于在两个字符串中间加了反斜杠\
# 字符串的拼接:'E:\lemon\task_211012\config' + '\'+ 'config.yaml'
yaml_file = os.path.join(file_dir,'config.yaml')
print(yaml_file)
运行结果:
E:\lemon\task_211012\config\config.py
E:\lemon\task_211012\config
E:\lemon\task_211012\config\config.yaml
因此,我们可以使用动态获取路径的方式来修改上节课框架搭建中代码的路径
方法一:导入.py配置文件来修改路径
增加一个config.py的配置文件,代码如下:

import os
# 获取config.py当前文件的路径
curren_path = os.path.abspath(__file__)
# 配置文件目录的路径
config_dir = os.path.dirname(curren_path)
# config包的路径
cf_dir = os.path.dirname(config_dir)
# 拼接出data的路径
data_dir = os.path.join(cf_dir, 'data')
# 拼接出测试用例cases.xlsx的路径
cases_dir = os.path.join(data_dir, 'cases.xlsx')
修改test_login.py文件,运行结果和之前是一样的

方法二:读取yaml配置文件来修改路径
config.yaml配置文件下增加一条路径

read_yaml.py修改后如下
import yaml
def read_yaml(filename):
with open(filename, encoding='utf-8') as f:
data = yaml.safe_load(f)
return data
datas = read_yaml(r'E:\lemon\task_211012\config\config.yaml')
修改test_login.py文件,运行结果和之前是一样的

本文介绍了如何在PyCharm中设置项目路径为源代码根目录,以及如何通过os模块动态获取路径。强调了避免设置过多根目录以防止错误,并提供了取消设置源代码根目录的方法。此外,文章还讲解了两种动态修改路径的方式,包括使用.py配置文件和.yaml配置文件进行路径设置。
843

被折叠的 条评论
为什么被折叠?



