使用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和 …
我有一个奇怪的问题,我不能执行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)
有任何想法吗 ?
干杯
我试着检查一个远程分支.
然后进行提交然后推送.
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)
谢谢.
关于具有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) 从基于Debian的系统上的脚本语言(Python或Ruby),我想找到以下任何一种:
(显然,1或2可以从另一个派生,所以无论什么更容易都会很棒.)我在过去通过运行完成了这个:
fc-list : file charset
Run Code Online (Sandbox Code Playgroud)
...并根据来自fontconfig的代码解析每行末尾的输出, 但在我看来应该有一种更简单的方法.
(我不完全确定这是这个问题的正确StackExchange站点,但我正在寻找可以以编程方式使用的答案.)
我们已经运行了一段时间的网站,django-allauth用于使用以下任何一种身份验证:
...但现在我们想要阻止任何人创建一个新帐户,同时仍允许之前使用这些方法创建帐户的人能够登录.是否有设置可以让我们这样做?我不清楚任何这些记录的设置将允许我们配置它.
与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) 我已经进入django一段时间了,我最关注的是学习如何在我的开发机器上本地开发和运行应用程序.现在我正在尝试学习部署和发布管理的最佳实践.
我现在正在尝试在github中设置我的代码,然后以某种方式设置一个生产和暂存环境,在那里我可以以最小的影响推动更改.
我可以遵循最佳实践吗?以及如何创建一个敏捷环境,您可以将代码提交到临时环境中,客户可以在此环境中查看工作.
我试图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.
当无头运行 Cypress 时,我可以console.log使用DEBUG环境变量查看测试中的前端代码的输出,例如:
DEBUG='cypress:launcher' npx cypress run --browser chrome
Run Code Online (Sandbox Code Playgroud)
但是,我还没有找到任何类似的方法来查看cy.log无头运行时赛普拉斯测试代码的输出。即使DEBUG='cypress:*'我看不到它们 - 它们似乎只在交互界面中可见。感觉必须有某种方法可以cy.log无头查看输出 - 有人可以帮忙吗?
如果其他开发人员在提交到trunk之前将其本地分支推送到共享远程存储库(共享,备份或集中存储它们以便从多台计算机访问),我是否可以轻松地仅获取自己的分支或选择性地删除本地引用他人的远程分支?如果没有,有没有办法只在gitk中显示远程分支的子集,所以我可以看到我的分支相对于我的远程分支的位置,但没有其他人的远程分支混乱的图形?
git ×3
python ×3
django ×2
agile ×1
bash ×1
centos ×1
color-space ×1
cypress ×1
elementtree ×1
file-format ×1
fontconfig ×1
fonts ×1
git-checkout ×1
githooks ×1
java ×1
jpeg ×1
libjpeg ×1
linux ×1
lxml ×1
ruby ×1
unicode ×1
xml ×1