def read_testcase_yaml(yaml_path): with open(os.getcwd()+yaml_path, encoding="utf-8") as f: value = yaml.load(stream=f, Loader=yaml.FullLoader) return value改进一下
时间: 2024-02-23 20:00:09 浏览: 129
在打开文件时,您可以使用 `os.path.join` 函数来连接当前工作目录和 YAML 文件的相对路径。这样可以避免硬编码当前工作目录,而使代码更具可移植性。例如:
```python
import os
def read_testcase_yaml(yaml_path):
abs_path = os.path.join(os.getcwd(), yaml_path)
with open(abs_path, encoding="utf-8") as f:
value = yaml.load(stream=f, Loader=yaml.FullLoader)
return value
```
这个函数会使用 `os.getcwd()` 获取当前工作目录的路径,然后使用 `os.path.join` 函数将该路径和 YAML 文件的相对路径连接起来。最后,函数会打开该路径下的 YAML 文件并返回其内容。
相关问题
分析一下两组代码路径用\和/的原因 def clear_yaml(self): with open(os.getcwd() + '/extract.yaml', encoding='utf-8', mode='w') as f: f.truncate() def read_testcase(self,yaml_name): with open(os.getcwd() + '\testcases\' + yaml_name, mode='r', encoding='utf-8') as f: value = yaml.load(f, yaml.FullLoader) return value
这两组代码涉及到文件路径的操作,使用\和/的原因是因为不同操作系统下的路径分隔符不同。
在Windows系统中,路径分隔符为\,而在Linux和Mac系统中,路径分隔符为/。因此,在Windows系统中,第一组代码使用了\作为路径分隔符;而第二组代码使用了/作为路径分隔符,适用于Linux和Mac系统。
为了使代码具有跨平台性,可以使用Python内置的os模块中的os.path.join()方法,自动根据当前操作系统的不同来选择适当的路径分隔符。例如:
```python
import os
# 第一组代码
def clear_yaml(self):
with open(os.path.join(os.getcwd(), 'extract.yaml'), encoding='utf-8', mode='w') as f:
f.truncate()
# 第二组代码
def read_testcase(self, yaml_name):
with open(os.path.join(os.getcwd(), 'testcases', yaml_name), mode='r', encoding='utf-8') as f:
value = yaml.load(f, yaml.FullLoader)
return value
```
这样就可以在不同的操作系统上都正常运行了。
def read_testcase_yaml(yaml_path): # C:\Users\fuyibo\PycharmProjects\keys\testcase\app_sync.yaml with open(get_object_path() +"\\"+ yaml_path, encoding="utf-8") as f: value = yaml.load(stream=f, Loader=yaml.FullLoader) return value怎么改为绝对路径
您可以使用 `os.path.abspath` 函数将相对路径转换为绝对路径。例如:
```python
import os
def read_testcase_yaml(yaml_path):
abs_path = os.path.abspath(yaml_path)
with open(abs_path, encoding="utf-8") as f:
value = yaml.load(stream=f, Loader=yaml.FullLoader)
return value
```
这个函数会将传入的 `yaml_path` 转换为绝对路径,然后打开该路径下的 YAML 文件并返回其内容。
阅读全文