我正在写这样的yaml文件
with open(fname, "w") as f:
yaml.safe_dump({'allow':'', 'deny': ''}, f,
default_flow_style=False, width=50, indent=4)
Run Code Online (Sandbox Code Playgroud)
输出:
allow: ''
Run Code Online (Sandbox Code Playgroud)
我想输出为
allow:
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我的 SDK 工具版本为 24.2,SDK 为 Android 4.4W.2 (API 20)。
我使用 Android Virtual Device (AVD) 来模拟 Android Wear 设备。但出现错误“皮肤目录未指向有效皮肤”
这非常令人沮丧.我的代码工作正常,直到上周.当用户更改[使用]下拉选择中的值时,我将多个文本框添加到我的HTML页面change().
这是HTML代码段:
<div id="files" class="control-group">
<label class="control-label">No. of files</label>
<div class="controls" >
<select id="files" name="files" class="span3">
<option value="">--Select Option--</option>
<?php for($i=1;$i<21;$i++){ ?>
<option value="<?php echo $i ?>"><?php echo $i ?></option> <?php } ?>
</select>
</div>
</div>
<div class="control-group" id="titles">
<label class="control-label">File Titles</label>
<div class="controls" id="titleAdd"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的Javascript/jQuery:
$(document).ready(function(){
$("#titles").hide();
});
var container;
// Add & Remove textboxes
$("#files").change(function(){
//Remove all textboxes
$("#titles").show();
$(container).empty();
$(container).remove();
//"DIV" ELEMENT AND DESIGN IT USING JQUERY ".css()" …Run Code Online (Sandbox Code Playgroud) 我们使用PyYAML为不同的环境准备配置文件.但是我们的YAML阻止了完整性.
给input.yml......
pubkey: |
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSq7OPxRrQEBAQUAA4GNADCBiQKBgQCvRVUKp6pr4qBEnE9lviuyfiNq
QtG/OCyBDXL4Bh3FmUzfNI+Z4Bh3FmUx+z2n0FCv/4BpgHTDl8D95NPopWVo1RH2
UfhyMd6dQ/x9T5m+y38JMzmSVAk+Fqu8ya18+yQVOEyEIx3Gxpsgegow33gcxfjK
EsUgJHXcpw7OPxRrCQIDAQAB
-----END PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)
...使用python3执行此程序...
import yaml
with open('input.yml', mode='r') as f:
parsed = yaml.safe_load(f)
with open('output.yml', mode='w') as f:
yaml.dump(parsed, f)
Run Code Online (Sandbox Code Playgroud)
......产生这个output.yml......
pubkey: '-----BEGIN PUBLIC KEY-----
MIGfMA0GCSq7OPxRrQEBAQUAA4GNADCBiQKBgQCvRVUKp6pr4qBEnE9lviuyfiNq
QtG/OCyBDXL4Bh3FmUzfNI+Z4Bh3FmUx+z2n0FCv/4BpgHTDl8D95NPopWVo1RH2
UfhyMd6dQ/x9T5m+y38JMzmSVAk+Fqu8ya18+yQVOEyEIx3Gxpsgegow33gcxfjK
EsUgJHXcpw7OPxRrCQIDAQAB
-----END PUBLIC KEY-----
'
Run Code Online (Sandbox Code Playgroud)
是否可以使用PyYAML保留块的结构?
我正在使用Ruamel来保留人工编辑的YAML文件中的引用样式.
我有示例输入数据:
---
a: '1'
b: "2"
c: 3
Run Code Online (Sandbox Code Playgroud)
我使用以下方法读取数据:
def read_file(f):
with open(f, 'r') as _f:
return ruamel.yaml.round_trip_load(_f.read(), preserve_quotes=True)
Run Code Online (Sandbox Code Playgroud)
然后我编辑该数据:
data = read_file('in.yaml')
data['foo'] = 'bar'
Run Code Online (Sandbox Code Playgroud)
我使用以下方法写回磁盘:
def write_file(f, data):
with open(f, 'w') as _f:
_f.write(ruamel.yaml.dump(data, Dumper=ruamel.yaml.RoundTripDumper, width=1024))
write_file('out.yaml', data)
Run Code Online (Sandbox Code Playgroud)
输出文件是:
a: '1'
b: "2"
c: 3
foo: bar
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以强制引用字符串'bar',而不会在整个文件的其余部分强制执行引用样式?
(另外,我可以阻止它删除三个破折号---吗?)
我可以使用多个主机,例如:
host1: petstore.test.com
host2: petstore1.test.com
host3: petstore2.dev.com
Run Code Online (Sandbox Code Playgroud)
现在我的YAML文件只有一个主机URL.
例如:
host: petstore.test.com
basePath: /
Run Code Online (Sandbox Code Playgroud) 我有YAML文件site.yaml:
Kvm_BLOCK:
ip_address: 10.X.X.X
property: null
server_type: zone
Run Code Online (Sandbox Code Playgroud)
加载然后转储为:
ruamel.yaml.dump(site_yaml, new_file, Dumper=ruamel.yaml.RoundTripDumper)
Run Code Online (Sandbox Code Playgroud)
它成为了
Kvm_BLOCK:
ip_address: 10.X.X.X
property:
server_type: zone
Run Code Online (Sandbox Code Playgroud)
如何null在属性块中保留此值
我正在做一个关于Google Cloud中的kubernetes的实验室。
我已经创建了YAML文件,但是当我尝试部署它时,shell显示了此错误:
将YAML转换为JSON时出错:yaml:第34行:找不到预期的密钥
YAML文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
spec:
volumes:
- name: nginx-config
configMap:
name: nginx-config
- name: php-config
configMap:
name: php-config
containers:
- image: php-fpm:7.2
name: php
ports:
- containerPort: 9000
volumeMounts:
- name: persistent-storage
mountPath: /var/www/data
- name: php-config
mountPath: /usr/local/etc/php-fpm.d/www.conf
subPath: www.conf
- image: nginx:latest
name: nginx
- containerPort: 80
volumeMounts:
- name: persistent-storage
mountPath: /var/www/data
- name: nginx-config
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf …Run Code Online (Sandbox Code Playgroud) 我有 YAML 查找值并将其替换为正确的 YAML 格式(带空格和引号)。在示例 YAML 下,我可以使用下面的 Sed 命令替换 jdbcUrl 值。但是,需要帮助如何使用 Sed 为值添加空格前缀和引号。下面Sed将查找并替换所需的jdbcUrl。但是,它不会添加空格前缀(YAML 标准)并添加值的引号。
查找和替换 URL 的脚本:
DB_URL='jdbc:mysql://localhost:3306/sd?autoReconnect=true'
sed -i -e 's, MYDATABASE,'$DB_URL',g' input.yaml
Run Code Online (Sandbox Code Playgroud)
输入 Yaml 示例:
- name: AP_DB
description: "datasource"
jndiConfig:
name: jdbc/AP_DB
definition:
type: RDBMS
configuration:
jdbcUrl: MYDATABASE
username: username
password: password
driverClassName: com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)
所需的输出 Yaml:
- name: AP_DB
description: "datasource"
jndiConfig:
name: jdbc/AP_DB
definition:
type: RDBMS
configuration:
jdbcUrl: 'jdbc:mysql://localhost:3306/sd?autoReconnect=true'
username: username
password: password
driverClassName: com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud) YAML 中的 AWS Cloudformation 模板Ref:和其中的区别是什么!Ref?
根据AWS docs,Ref: logicalName是“完整函数名称的!Ref logicalName语法”和“短格式的语法”。完整的函数名称和缩写形式在功能上是否存在差异。我可以只使用 或 吗?
yaml ×5
python ×4
pyyaml ×3
ruamel.yaml ×2
android ×1
html ×1
javascript ×1
jquery ×1
kubernetes ×1
python-3.x ×1
sdk ×1
sed ×1
skin ×1
substitution ×1
swagger ×1