小编Jee*_*Kim的帖子

如何防止命令出现在bash历史记录中?

有时,当我运行命令时rm -rf XYZ,我不希望将其记录在bash历史记录中,因为我可能会意外地再次运行相同的命令reverse-i-search.有没有好办法防止这种情况发生?

bash

81
推荐指数
6
解决办法
4万
查看次数

python中已编译的正则表达式对象的类型

python中编译的正则表达式的类型是什么?

特别是,我想评估

isinstance(re.compile(''), ???)
Run Code Online (Sandbox Code Playgroud)

为了内省目的,这是真的.

我有一个解决方案,有一些全局常数REGEX_TYPE = type(re.compile('')),但它似乎并不优雅.

编辑:我想这样做的原因是因为我有字符串列表和编译的正则表达式对象.我希望将一个字符串与列表"匹配"

  • 对于列表中的每个字符串,尝试检查字符串是否相等.
  • 对于列表中的每个正则表达式,尝试检查字符串是否与给定模式匹配.

我想出的代码是:

for allowed in alloweds:
    if isinstance(allowed, basestring) and allowed == input:
        ignored = False
        break
    elif isinstance(allowed, REGEX_TYPE) and allowed.match(input):
        ignored = False
        break
Run Code Online (Sandbox Code Playgroud)

python regex types

64
推荐指数
6
解决办法
2万
查看次数

在子节点上运行XPath

我正在尝试对xpath查找返回的节点执行xpath查找,但它似乎没有按预期工作.在文档的子节点上执行的XPaths似乎是针对文档的根节点执行的(在例如,库存标签.),而不是提供的节点的根.

我在这里错过了什么吗?我是XPath的新手.

另外,请不要回答"只做//书[作者='Neal Stephenson'/ title".我有一个合法的用例,这是一个简化的例子.

代码段

DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("src/main/java/books.xml");

XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();

Node book = (Node) xpath.evaluate("//book[author='Neal Stephenson']", doc, XPathConstants.NODE);
Node title = (Node) xpath.evaluate("/title", book, XPathConstants.NODE); // I get null here.
Node inventory = (Node) xpath.evaluate("/inventory", book, XPathConstants.NODE); // this returns a node.
Run Code Online (Sandbox Code Playgroud)

是book.xml

<inventory>
<book year="2000">
    <title>Snow Crash</title>
    <author>Neal Stephenson</author>
    <publisher>Spectra</publisher>
    <isbn>0553380958</isbn>
    <price>14.95</price>
</book>

<book year="2005">
    <title>Burning Tower</title>
    <author>Larry Niven</author>
    <author>Jerry Pournelle</author>
    <publisher>Pocket</publisher> …
Run Code Online (Sandbox Code Playgroud)

java xpath

49
推荐指数
4
解决办法
4万
查看次数

默认的maven编译器设置

现在,我正在编写一个小型java应用程序,只有几个maven pom.xml文件.我想用jdk 1.6编译所有我的maven包,如果没有在每个POM上手动设置它,我找不到一个好方法 - 我厌倦了复制和粘贴

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
 <source>1.6</source>
 <target>1.6</target>
</configuration>
Run Code Online (Sandbox Code Playgroud)

在我生成的每个pom.xml文件中.

有没有更简单的方法来解决这个问题?

java compiler-construction maven

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

在Python中自动设置类成员变量

说,我在Python中有以下类

class Foo(object):
    a = None
    b = None
    c = None
    def __init__(self, a = None, b = None, c = None):
        self.a = a
        self.b = b
        self.c = c
Run Code Online (Sandbox Code Playgroud)

有没有办法简化这个过程?每当我向Foo类添加一个新成员时,我都被迫修改构造函数.

python constructor

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

通过pdb调试djcelery的celeryd

有没有人尝试使用pdb调试celeryd worker?每当遇到断点时(通过pdb或by运行celeryd pdb.set_trace()),我都会遇到以下错误:

Error while handling action event.
Traceback (most recent call last):
  File "/home/jeeyo/workspace3/uwcr/subscriptions/tasks.py", line 79, in process_action_event
    func(action_event)
  File "/home/jeeyo/workspace3/uwcr/subscriptions/tasks.py", line 36, in new_user_email
    send_registration_email(username, new_user.get_profile().plaintext_password)
  File "/home/jeeyo/workspace3/uwcr/looers/email.py", line 18, in send_registration_email
    'Your password from UWCoopRankings', user
  File "/home/jeeyo/workspace3/uwcr/looers/email.py", line 61, in send_email
    if isinstance(to, basestring):
  File "/home/jeeyo/workspace3/uwcr/looers/email.py", line 61, in send_email
    if isinstance(to, basestring):
  File "/usr/lib/python2.6/bdb.py", line 46, in trace_dispatch
    return self.dispatch_line(frame)
  File "/usr/lib/python2.6/bdb.py", line 65, in dispatch_line
    if self.quitting: raise BdbQuit
BdbQuit
Run Code Online (Sandbox Code Playgroud)

对此有何解决方案?

python django debugging celery

21
推荐指数
1
解决办法
3796
查看次数

在脚本标记中嵌入JSON对象

编辑:为了将来参考,我使用非xhtml内容类型定义 <!html>

我正在使用Django创建一个网站,我正在尝试在我的页面中嵌入任意json数据以供客户端javascript代码使用.

让我们说我的json对象是{"foo": "</script>"}.如果我直接嵌入,

<script type='text/javascript'>JSON={"foo": "</script>"};</script>
Run Code Online (Sandbox Code Playgroud)

第一个关闭json对象.(另外,它会使站点容易受到XSS的攻击,因为这个json对象将被动态生成).

如果我使用django的HTML转义函数,结果输出是:

<script type='text/javascript'>JSON={&quot;foo&quot;: &quot;&lt;/script&gt;&quot;};</script> 
Run Code Online (Sandbox Code Playgroud)

并且浏览器无法解释<script>标记.

我在这里的问题是,

  1. 在这种情况下,我认为哪些角色可以逃脱?
  2. 是否有自动方式在Python/Django中执行此操作?

html django json

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

电子邮件中的CSS类

据我所知,CSS选择器/类不能用于设置您发送的电子邮件的样式,因为许多电子邮件客户端不会获取外部css文件.

我想知道人们通常如何为自动电子邮件创建模板.你是否只是将每个CSS样式内联到DOM?这似乎是非常低效且容易出错的方法.

我想知道的一件事是,是否有一个工具将由CSS选择器设置样式的HTML文档"展平"为具有内联CSS样式的HTML文档.如果这样的工具存在,那么我可以使用我有的常规模板框架(我现在使用django)来生成电子邮件,处理样式,并发送结果.

html css email

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

Python导入优先级:包还是模块?

我不清楚如何正确地命名这个问题.

情况1

假设我有以下目录结构.

foo
|
+- bar/__init__.py
|
+- bar.py
Run Code Online (Sandbox Code Playgroud)

如果我有

from foo import bar
Run Code Online (Sandbox Code Playgroud)

我如何知道导入哪个栏(bar.pybar/__init__.py)?有没有简单的方法来自动检测这种情况?

案例2

foo
|
+- foo.py
|
+- other.py
Run Code Online (Sandbox Code Playgroud)

如果other.py有这条线

import foo
Run Code Online (Sandbox Code Playgroud)

我怎么知道导入哪个foo(foo或foo.foo)?再一次,是否有任何简单的方法来自动检测这种情况?

python import packages

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

pdb.set_trace()在web浏览器javascript中等效?

在调试python应用程序时,我通常使用pdb/ipdb的set_trace()函数以编程方式调用断点.

我在想网络浏览器的javascript中是否有类似的东西是可能的.我很确定如果它们存在,它是Firebug/Chrome/IE的一些特定于浏览器的扩展,但我找不到任何关于它们的信息.

javascript browser debugging

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