小编Ant*_*hon的帖子

如何在Android ExoPlayer中显示字幕

我正在使用Exoplayer进行流式传输URL.我想在exoplayer中添加srt文件.但我认为播放器不支持srt文件,因此我将文件内容放在1个变量中.

如何在android exoplayer中显示字幕?

android exoplayer

9
推荐指数
2
解决办法
6425
查看次数

Gitlab 中构建失败的工件

我想知道如何在 gitlab 持续集成中为失败的构建生成工件,以查看构建生成的 html 报告。

我试过这样:

 artifacts:
    when: on_failure
      paths:
        - SmokeTestResults/
        - package.json
Run Code Online (Sandbox Code Playgroud)

但不幸的是它不起作用。我正在使用 Gitlab 8.11.4 社区版。

gitlab gitlab-ci gitlab-ci-runner

9
推荐指数
2
解决办法
7391
查看次数

扩展的类似dict的子类,支持转换和JSON转储,无需额外的功能

我需要创建一个t类似于dict的类的实例,T它支持"转换"到真正的dict dict(**t),而不需要回复 dict([(k, v) for k, v in t.items()]).同时支持使用标准json库转储为JSON ,而不扩展普通的JSON编码器(即没有为default参数提供功能).

随着t作为一个正常的dict,这两个工作:

import json

def dump(data):
    print(list(data.items()))
    try:
        print('cast:', dict(**data))
    except Exception as e:
        print('ERROR:', e)
    try:
        print('json:', json.dumps(data))
    except Exception as e:
        print('ERROR:', e)

t = dict(a=1, b=2)
dump(t)
Run Code Online (Sandbox Code Playgroud)

打印:

[('a', 1), ('b', 2)]
cast: {'a': 1, 'b': 2}
json: {"a": 1, "b": 2}
Run Code Online (Sandbox Code Playgroud)

但是我希望t成为类的一个实例,T例如将一个default "动态"键添加到其项目中,因此不需要预先插入(实际上我希望来自一个或多个T实例的合并键出现,这个是对那个真实的,更复杂的类的简化.

class T(dict):
    def __getitem__(self, …
Run Code Online (Sandbox Code Playgroud)

python json dictionary casting

9
推荐指数
1
解决办法
255
查看次数

如何从纯python创建一个yaml文件?

使用YAML和Python的示例

原始YAML文件包含此内容

# tree format
treeroot:
    branch1:
        name: Node 1
        branch1-1:
            name: Node 1-1
    branch2:
        name: Node 2
        branch2-1:
            name: Node 2-1
Run Code Online (Sandbox Code Playgroud)

在使用文件加载内容yaml.load()并将其转储到新的YAML文件后,我得到了这个:

# tree format
treeroot:
    branch1:
        branch1-1: {name:Node 1-1}
        name: Node 1
    branch2:
        branch2-1: {name: Node 2-1}
        name: Node 2
Run Code Online (Sandbox Code Playgroud)

直接从纯python构建YAML文件的正确方法是什么?我不想自己写字符串.我想建立字典和列表.


部分...

dataMap = {'treeroot':
               {'branch2': 
                 {'branch1-1': 
                  {'name': 'Node 1-1'},   # should be its own level
                  'name': 'Node 1'
                 }
               }
          }
Run Code Online (Sandbox Code Playgroud)

python yaml pyyaml

8
推荐指数
1
解决办法
1万
查看次数

避免在PyYAML中引用

我使用YAML和PyYAML.在转储嵌套结构后,有没有办法避免*id002引用?为了便于阅读,我想在那里看到实际的(元组)值.

在尝试生成一个迷你示例时,我注意到它只在我使用相同的id对象时才会发生:

import yaml

t = ("b", "c")
x = {(1, t):1, (2, t):2, }
print(yaml.dump(x))
Run Code Online (Sandbox Code Playgroud)

所以我认为copy.copy()可以解决问题,但是对于元组它似乎不起作用:(我可以创建一个具有不同ID的新元组吗?

python yaml

8
推荐指数
2
解决办法
2798
查看次数

TypeError:__ init __()占用1个位置参数,但给出3个

我知道这个标题对于一些古老的问题看起来很熟悉,但我看过它们中的每一个,都没有解决.这是我的代码:

TypeError: __init__() takes 1 positional argument but 3 were given

Traceback (most recent call last)
File "C:\Users\hp user\virtual_flask\lib\site-packages\flask\app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\hp user\virtual_flask\lib\site-packages\flask\app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\Users\hp user\virtual_flask\lib\site-packages\flask\app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\hp user\virtual_flask\lib\site-packages\flask\_compat.py", line 33, in reraise
raise value
File "C:\Users\hp user\virtual_flask\lib\site-packages\flask\app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\hp user\virtual_flask\lib\site-packages\flask\app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\hp user\virtual_flask\lib\site-packages\flask\app.py", line 1381, …
Run Code Online (Sandbox Code Playgroud)

python flask python-3.x

8
推荐指数
1
解决办法
2万
查看次数

是否可以在YAML中进行字符串替换?

有没有办法在YAML中替换字符串.例如,我想定义sub一次并在整个YAML文件中使用它.

sub: ['a', 'b', 'c']
command:
    params:
        cmd1:
            type: string
            enum :   # Get the list defined in 'sub'
            description: Exclude commands from the test list.
        cmd2:
            type: string
            enum:   # Get the list defined in 'sub'
Run Code Online (Sandbox Code Playgroud)

yaml

8
推荐指数
1
解决办法
1万
查看次数

在保留顺序的同时将字典转储到YAML文件

我一直在尝试将字典转储到YAML文件中.问题是导入YAML文件的程序需要按特定顺序的关键字.此订单不是按字母顺序排列的.

import yaml
import os 

baseFile = 'myfile.dat'
lyml = [{'BaseFile': baseFile}]
lyml.append({'Environment':{'WaterDepth':0.,'WaveDirection':0.,'WaveGamma':0.,'WaveAlpha':0.}})

CaseName = 'OrderedDict.yml'
CaseDir = r'C:\Users\BTO\Documents\Projects\Mooring code testen'
CaseFile = os.path.join(CaseDir, CaseName)
with open(CaseFile, 'w') as f:
    yaml.dump(lyml, f, default_flow_style=False)
Run Code Online (Sandbox Code Playgroud)

这会生成一个*.yml文件,其格式如下:

- BaseFile: myfile.dat
- Environment:
    WaterDepth: 0.0
    WaveAlpha: 0.0
    WaveDirection: 0.0
    WaveGamma: 0.0
Run Code Online (Sandbox Code Playgroud)

但我想要的是订单保留:

- BaseFile: myfile.dat
- Environment:
    WaterDepth: 0.0
    WaveDirection: 0.0
    WaveGamma: 0.0
    WaveAlpha: 0.0
Run Code Online (Sandbox Code Playgroud)

这可能吗?

dictionary yaml python-3.x

8
推荐指数
3
解决办法
1万
查看次数

对象不支持属性或方法'indexOf'

我使用以下代码:

<html>
<head>
    <title></title>
    <script src="jquery-3.2.0.js"></script>

</head>
<body>
    <script type="text/javascript">
        $(window).load(function () {
            alert('Window loaded');
        });

        $(document).ready(function () {
            alert('DOM Loaded and ready');
        });
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

它如此简单,但我收到了错误

 "Object doesn't support property or method 'indexOf'".
Run Code Online (Sandbox Code Playgroud)

我正在使用Internet Explorer

它是什么原因?

jquery

8
推荐指数
1
解决办法
1万
查看次数

为什么“ {{.Release.namespace}}”为空?

我知道这{{.Release.namespace}}将呈现所安装的应用程序的名称空间helm。在这种情况下,helm template命令会将其呈现为空字符串(因为它尚不知道发布名称空间)。

但是,令我感到惊讶的是helm upgrade --install命令(我还没有尝试过其他命令,例如helm install)在某些情况下也使它为空。

这是我的舵图模板的示例:

apiVersion: v1
kind: Service
metadata:
  name: {{.Values.app.name}}-{{.Values.app.track}}-internal
  namespace: {{.Release.namespace}}
  annotations:
    testAnnotate: "{{.Release.namespace}}"
spec:
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: {{.Values.app.name}}
    environment: {{.Values.app.env}}
    track: {{.Values.app.track}}
  type: ClusterIP
Run Code Online (Sandbox Code Playgroud)

在调用helm upgrade --install该图表模板(并成功安装)之后,然后尝试查看资源的输出

> kubectl get -o yaml svc java-maven-app-stable-internal -n data-devops
apiVersion: v1
kind: Service
metadata:
  annotations:
    testAnnotate: ""
  creationTimestamp: 2018-08-09T06:56:41Z
  name: java-maven-app-stable-internal
  namespace: data-devops
  resourceVersion: "62906341"
  selfLink: /api/v1/namespaces/data-devops/services/java-maven-app-stable-internal
  uid: …
Run Code Online (Sandbox Code Playgroud)

kubernetes-helm

8
推荐指数
1
解决办法
4991
查看次数