小编Mar*_*air的帖子

如何用lxml中的文本替换元素?

使用lxml的ElementTree API实现从XML文档中完全删除给定元素很容易,但是我看不到用一些文本一致地替换元素的简单方法.例如,给出以下输入:

input = '''<everything>
<m>Some text before <r/></m>
<m><r/> and some text after.</m>
<m><r/></m>
<m>Text before <r/> and after</m>
<m><b/> Text after a sibling <r/> Text before a sibling<b/></m>
</everything>
'''
Run Code Online (Sandbox Code Playgroud)

...你可以轻松删除每个<r>元素:

from lxml import etree
f = etree.fromstring(data)
for r in f.xpath('//r'):
    r.getparent().remove(r)
print etree.tostring(f, pretty_print=True)
Run Code Online (Sandbox Code Playgroud)

但是,你将如何用文本替换每个元素,以获得输出:

<everything>
<m>Some text before DELETED</m>
<m>DELETED and some text after.</m>
<m>DELETED</m>
<m>Text before DELETED and after</m>
<m><b/>Text after a sibling DELETED Text before a sibling<b/></m>
</everything>
Run Code Online (Sandbox Code Playgroud)

在我看来,这是因为通过与文字ElementTree的API交易.text和 …

python xml lxml elementtree

13
推荐指数
2
解决办法
8318
查看次数

甚至不能以root身份执行bash脚本?

我有一个奇怪的问题,我不能执行bash脚本,即使是基本的:

#!/bin/bash
echo "me"
Run Code Online (Sandbox Code Playgroud)

我将它保存为test.sh然后执行chmod 755 test.sh并运行./test.sh获取:

bash: ./test.sh: Permission denied
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

干杯

linux bash centos

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

'致命:当我执行'git push'时,没有配置目标来推送'错误'

我试着检查一个远程分支.

然后进行提交然后推送.

fatal: No destination configured to push to当我做'git push'时我得到错误.

这是我使用的命令序列:

$ git checkout remote/test-1.6
$ git checkout -b test-1.6
$ git commit -a -m "commit message"
$ git push
fatal: No destination configured to push to.
Run Code Online (Sandbox Code Playgroud)

谢谢.

git

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

我可以使用libjpeg读取带有alpha通道的JPEG吗?

关于具有alpha通道的JPEG是否有效似乎存在争议.我一直认为正确的答案是在JPEG常见问题解答中,基本上是"否".(这在Stack Overflow的另一个问题中重申了.)

但是,Sun的ImageIO库中的Java的JPEGImageWriter将很乐意使用alpha通道编写和读取灰度和RGB图像,即使在Linux上我几乎没有应用程序,我已经尝试过正确加载这些JPEG.这在过去曾被报道为一个错误,但Sun的回答是这些是有效的文件:

这不是Image I/O错误,而是提交者提到的其他应用程序的缺陷.IIO JPEGImageWriter能够使用包含alpha通道的颜色模型(在IJG原生源代码中称为"NIFTY"颜色空间,如RGBA,YCbCrA等)来编写图像,但许多应用程序都不知道这些色彩空间.因此,即使IIO JPEG编写器写入的这些图像符合JPEG规范(对各种颜色空间可能性视而不见),某些应用程序可能无法识别包含alpha通道的颜色空间,并且可能会抛出错误或渲染损坏图像,正如提交者所描述的那样.

希望保持与其他alpha-unaware应用程序兼容的开发人员应该编写不包含alpha通道的图像(例如TYPE_INT_RGB).希望能够以JPEG格式编写/读取包含Alpha通道的图像的开发人员可以使用Image I/O API执行此操作,但需要注意的是,许多本机应用程序不完全符合YCbCrA和RGBA格式.

有关更多信息,请参阅Image I/O JPEG元数据格式规范和使用说明:http: //java.sun.com/j2se/1.4.1/docs/api/javax/imageio/metadata/doc-files/jpeg_metadata. HTML

关闭为"不是错误".xxxxx @ xxxxx 2003-03-24

我正在使用一个创建这些文件的Java应用程序,并希望编写一些可以尽快加载这些文件的C代码.(基本上问题是Java ImageIO库在解压缩这些文件时速度非常慢,我们希望通过JNI用本机代码替换加载器来改善这一点 - 这是目前的性能瓶颈.)

这里有一些示例文件 - 向任何有嗜铁的人道歉:

在这里,您可以看到尝试使用我认为使用的各种Linux软件查看灰度+ alpha和RGB + alpha图像的结果libjpeg:

带有各种程序的alpha通道视图的灰度图像http://mythic-beasts.com/~mark/all-alpha-bridges.png

具有alpha通道视图的RGB图像与各种程序http://mythic-beasts.com/~mark/all-alpha-clowns.png

因此看起来好像在每种情况下都会误解色彩空间.唯一允许的值jpeglib.h是:

/* Known color spaces. */

typedef enum {
        JCS_UNKNOWN,            /* error/unspecified */
        JCS_GRAYSCALE,          /* monochrome */
        JCS_RGB,                /* red/green/blue */
        JCS_YCbCr,              /* Y/Cb/Cr (also known as YUV) */
        JCS_CMYK,               /* C/M/Y/K */ …
Run Code Online (Sandbox Code Playgroud)

java jpeg file-format libjpeg color-space

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

如何在基于Debian的系统上找到字体具有字形的Unicode代码点?

从基于Debian的系统上的脚本语言(Python或Ruby),我想找到以下任何一种:

  1. 特定字体具有字形的所有Unicode代码点
  2. 所有具有特定Unicode代码点字形的字体

(显然,1或2可以从另一个派生,所以无论什么更容易都会很棒.)我在过去通过运行完成了这个:

fc-list : file charset
Run Code Online (Sandbox Code Playgroud)

...并根据来自fontconfig的代码解析每行末尾的输出, 但在我看来应该有一种更简单的方法.

(我不完全确定这是这个问题的正确StackExchange站点,但我正在寻找可以以编程方式使用的答案.)

ruby python unicode fonts fontconfig

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

如何使用django-allauth禁用新帐户创建,但仍然允许现有用户登录?

我们已经运行了一段时间的网站,django-allauth用于使用以下任何一种身份验证:

  • 传统的基于电子邮件的注册
  • 谷歌登录
  • Twitter登录
  • Facebook登入

...但现在我们想要阻止任何人创建一个新帐户,同时仍允许之前使用这些方法创建帐户的人能够登录.是否有设置可以让我们这样做?我不清楚任何这些记录的设置将允许我们配置它.

与django-allauth相关的当前设置是:

INSTALLED_APPS = (
    'django.contrib.auth',
    ...
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google',
    'allauth.socialaccount.providers.facebook',
    'allauth.socialaccount.providers.twitter',
    ...
)

AUTHENTICATION_BACKENDS = (
    # Needed to login by username in Django admin, regardless of `allauth`
    "django.contrib.auth.backends.ModelBackend",
    # `allauth` specific authentication methods, such as login by e-mail
    "allauth.account.auth_backends.AuthenticationBackend",
)

SOCIALACCOUNT_PROVIDERS = {
    'google': {'SCOPE': ['https://www.googleapis.com/auth/userinfo.profile'],
               'AUTH_PARAMS': {'access_type': 'online'}},
    'facebook': {'SCOPE': ['email',]},
}

LOGIN_REDIRECT_URL = '/'

ACCOUNT_EMAIL_VERIFICATION = "mandatory"
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = True
SOCIALACCOUNT_AUTO_SIGNUP = True
Run Code Online (Sandbox Code Playgroud)

python authentication django django-allauth

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

django发布管理(分期,测试和生产)

我已经进入django一段时间了,我最关注的是学习如何在我的开发机器上本地开发和运行应用程序.现在我正在尝试学习部署和发布管理的最佳实践.

我现在正在尝试在github中设置我的代码,然后以某种方式设置一个生产和暂存环境,在那里我可以以最小的影响推动更改.

我可以遵循最佳实践吗?以及如何创建一个敏捷环境,您可以将代码提交到临时环境中,客户可以在此环境中查看工作.

django agile

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

为什么不在提交后挂钩中设置GIT_WORK_TREE?

我试图post-commit在每次成功提交后使用以下钩子部署到特定目录:

#!/bin/sh
export GIT_WORK_TREE=/var/www/example/
export GIT_DIR=/home/mark/test/.git/
git checkout -f
Run Code Online (Sandbox Code Playgroud)

但是,提交后我收到以下错误:

$ git commit -m 'An example commit.'
fatal: Unable to create '/var/www/example/.git/index.lock': No such file or directory
[master 0938e48] An example commit.
Run Code Online (Sandbox Code Playgroud)

...好像GIT_WORK_TREE设置被忽略了.为什么设置此环境变量似乎不起作用?我正在使用git版本1.7.4.1.

git git-checkout githooks

7
推荐指数
1
解决办法
4456
查看次数

使用 Cypress Headless 时如何查看“cy.log”输出?

当无头运行 Cypress 时,我可以console.log使用DEBUG环境变量查看测试中的前端代码的输出,例如:

DEBUG='cypress:launcher' npx cypress run --browser chrome
Run Code Online (Sandbox Code Playgroud)

但是,我还没有找到任何类似的方法来查看cy.log无头运行时赛普拉斯测试代码的输出。即使DEBUG='cypress:*'我看不到它们 - 它们似乎只在交互界面中可见。感觉必须有某种方法可以cy.log无头查看输出 - 有人可以帮忙吗?

cypress

7
推荐指数
1
解决办法
4739
查看次数

仅获取远程git分支的子集或仅在gitk中显示它们的子集

如果其他开发人员在提交到trunk之前将其本地分支推送到共享远程存储库(共享,备份或集中存储它们以便从多台计算机访问),我是否可以轻松地仅获取自己的分支或选择性地删除本地引用他人的远程分支?如果没有,有没有办法只在gitk中显示远程分支的子集,所以我可以看到我的分支相对于我的远程分支的位置,但没有其他人的远程分支混乱的图形?

git

6
推荐指数
1
解决办法
424
查看次数