小编der*_*unk的帖子

Python 2.7:类型对象"ElementTree"没有属性"register_namespace"

用这个python 2.7.3(或2.7.0)代码我想改变属性"android:versionCode ='2'"的值,它具有名称空间前缀"android":

#!/usr/bin/python
from xml.etree.ElementTree import ElementTree, dump
import sys, os

# Problem here:
ElementTree.register_namespace("android", "http://schemas.android.com/apk/res/android")

tree = ElementTree()
tree.parse("AndroidManifest.xml")
root = tree.getroot()
root.attrib["{http://schemas.android.com/apk/res/android}versionCode"] = "3"

dump(tree)
Run Code Online (Sandbox Code Playgroud)

如果不使用注释"Problem here"的代码行,ElementTree会自动将http://schemas.android.com/apk/res/android的名称空间别名命名为"ns0"(导致"ns0:versionCode = '3'".

因此,我使用ElementTree.register_namespace将命名空间url映射到别名"android",这将在此处记录.

我尝试这样做时得到的错误是:

AttributeError: type object 'ElementTree' has no attribute 'register_namespace'
Run Code Online (Sandbox Code Playgroud)

谁知道为什么这不起作用?这个方法应该在python 2.7中可用.

python xml elementtree

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

在OSX上的命令行上构建Android项目:在根项目中找不到任务'assembleDebug'

我正在尝试使用这个操作方法在OSX(Mavericks 10.9.5)命令行上构建Android项目:http://developer.android.com/tools/building/building-cmdline.html.

本方法文档解释了使用assembleDebug/assembleRelease构建Android项目.

不幸的是,gradle不会创建assembleDebugassembleRelease目标.

执行./gradlew assembleDebug返回此:

FAILURE: Build failed with an exception.

* What went wrong:
Task 'assembleDebug' not found in root project 'test'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack     trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.826 secs
Run Code Online (Sandbox Code Playgroud)

脚步:

android创建项目

测试项目已创建 android create project --path . …

macos android gradle

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

在 Go 中将 UTF-8 转换为 ISO8859-1 的最佳方法

我正在尝试将 UTF-8 字符映射到它们的“类似”ISO8859-1 表示。删除变音符号,但也替换像?withL?with 之类的字符i

例子: José Kak?s??r应该变成Jose Kakisir.

我知道可以通过这种方式删除变音符号:

// (From https://blog.golang.org/normalization#TOC_10.)
import (
    "unicode"

    "golang.org/x/text/transform"
    "golang.org/x/text/unicode/norm"
)

isMn := func(r rune) bool {
    return unicode.Is(unicode.Mn, r) // Mn: nonspacing marks
}
t := transform.Chain(norm.NFD, transform.RemoveFunc(isMn), norm.NFC)
result, _, err := transform.String(t, "José Kak?s??r")
println(result)
Run Code Online (Sandbox Code Playgroud)

打印出来Jose Kar?s?r-s?替换为s,但?不替换为i

在 Go 中实现这一目标的最佳方法是什么?

transliteration character-encoding go

5
推荐指数
1
解决办法
1787
查看次数

如何使用mono实现类似内部调用的Unity

C#侧码

[WrapperlessIcall]

[MethodImpl(MethodImplOptions.InternalCall)]

private extern void INTERNAL_set_rotation(ref Quaternion value);
Run Code Online (Sandbox Code Playgroud)

如何将此方法从C++公开为单声道

谢谢.

mono unity-game-engine

4
推荐指数
1
解决办法
3419
查看次数

如何使用PlistBuddy将多个条目添加到plist词典

在我的Info.plist文件中,我想修改外壳上的Plist文件,如下所示:

<plist version="1.0">
<dict>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>urlname-1</string>
        </dict>
    </array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

现在,我想使用PlistBuddy使其看起来像这样,并为CFBundleURLSchemes键添加一个字符串数组值(或其他所有值):

<plist version="1.0">
<dict>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>urlname-1</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>urlscheme-1</string>
            </array>
        </dict>
    </array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

如何使用PlistBuddy做到这一点?

假设的数组值CFBundleURLTypes是空的:通过执行,/usr/libexec/PlistBuddy -c "Add :CFBundleURLTypes:0:CFBundleURLName string 'urlname-1'" Info.plist我能够将字典添加到包含其第一个键/值对的数组中:

<plist version="1.0">
<dict>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>urlname-1</string>
        </dict>
    </array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何获取第二个键,例如CFBundleURLSchemes将字符串数组值放入同一字典中。

谁能给我指点?使用PlistBuddy可以做到吗?

macos bash plist

3
推荐指数
2
解决办法
5382
查看次数

如何从Git Pull请求中查看所有修改的文件?

与当前的master分支相比,我有兴趣查看在(GitHub)拉取请求中修改了哪些文件。

最好的做法是在不检出或在本地更改文件的情况下工作-仅显示PR中已触摸了哪些文件(文件名,包括路径)。

如何做到这一点?

git github

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

AWS:使用KMS加密的主密码创建RDS实例

通过aws cli工具在AWS上创建新的RDS实例时,是否可以使用通过AWS KMS密钥加密的主密码?例如,使用以下命令:http : //docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html

我之所以问是因为我不想在我的开发环境(使用terraform或云形成)中存储明文密码,而是将加密的值(由相应的AWS组件透明解密)存储在我的开发环境中。

mysql amazon-web-services amazon-rds terraform amazon-kms

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