老师,我运行的到的路径拼接符是相反的,这是什么问题,而且两个方法一起用的时候,得到的项目名称不全
来源:6-3 实战:通过pyyaml读取yaml文件中用于登录交易系统的用户名和密码

花浅言
2022-09-01
老师,我运行的到的路径拼接符是相反的
def get_project_path():
"""
获取项目绝对路径
:return:
"""
project_name = "trading_system_autotest"
# 获取当前文件的所在目录的绝对路径
file_path = os.path.dirname(__file__)
# print(file_path)
# # 在绝对路径中找到项目名称的下标位置
# print(file_path.find(project_name))
# # 找到项目所在目录的绝对路径+项目名称的长度=项目的绝对路径
print(file_path[: file_path.find(project_name)+len(project_name)])
return file_path[:file_path.find("project_name")+len(project_name)]
def sep(path, add_sep_before=False, add_sep_after=False):
all_path = os.sep.join(path)
# print(all_path)
if add_sep_before:
all_path = os.sep + all_path
if add_sep_after:
all_path = all_path + os.sep
# print(all_path)
return all_path
if __name__ == '__main__':
# pass
# get_project_path()
print(sep(["config", "environment.yaml"], add_sep_before=True))
print(get_project_path() + sep(["config", "environment.yaml"], add_sep_before=True))
运行的结果是
\config\environment.yaml
D:/me/code/trading_system_autotest
D:/me/code/trading_sys\config\environment.yaml # 就这个
写回答
1回答
-
william
2022-09-02
不好意思才看到这个提问。
是这里的问题,这个project_name不是字符串,是变量
032022-09-02
相似问题