这是我在树莓派上的目录:
Home
|__pi
|__test1
|__test2
|__ abc.py
我正在运行一个Python代码(abc.py
),该代码可以编辑然后转储YAML文件。但是文件保存在同一目录中(即在test2中)。是否可以将YAML文件转储到另一个目录(即在test1中)?
如果是,那么请让我知道代码。
这是我的python代码:
import sys
from ruamel.yaml import YAML
inp = """\
# example
name:
# details
family: Smith # very common
given: Alice # one of the siblings
"""
yaml = YAML()
code = yaml.load(inp)
code['name']['given'] = 'Bob'
yaml.dump(code, sys.stdout)
答案 0 :(得分:0)
childIndex
方法的第二个参数可以是<script>
"use strict";
var btn_click = false;
(() => {
const modified_inputs = new Set;
const defaultValue = "defaultValue";
// store default values
addEventListener("beforeinput", (evt) => {
const target = evt.target;
if (!(defaultValue in target || defaultValue in target.dataset)) {
target.dataset[defaultValue] = ("" + (target.value || target.textContent)).trim();
}
});
// detect input modifications
addEventListener("input", (evt) => {
const target = evt.target;
let original;
if (defaultValue in target) {
original = target[defaultValue];
} else {
original = target.dataset[defaultValue];
}
if (original !== ("" + (target.value || target.textContent)).trim()) {
if (!modified_inputs.has(target)) {
modified_inputs.add(target);
}
} else if (modified_inputs.has(target)) {
modified_inputs.delete(target);
}
});
addEventListener("beforeunload", (evt) => {
if (modified_inputs.size && !btn_click) {
const unsaved_changes_warning = "Changes you made may not be saved.";
evt.returnValue = unsaved_changes_warning;
return unsaved_changes_warning;
}
});
addEventListener("")
})();
document.getElementById("submit").onclick = function save() {
btn_click = true;
}
</script>
之类的流,也可以是已打开文件的流:
.dump()
与使用Python3一样,您还拥有sys.stdout
作为标准库的一部分,并且可以将with open('../code1/output.yaml', 'w') as fp:
yaml.dump(code, fp)
作为第二个参数传递给pathlib
:
pathlib.Path
.dump()
将被正确打开以进行写入和关闭。
(您也可以通过执行from pathlib import Path
output = Path('../code1/output.yaml')
yaml.dump(code, output)
从Path
加载)