小编Blo*_*nor的帖子

Python中的open和codecs.open之间的区别

有两种方法可以在Python中打开文本文件:

f = open(filename)
Run Code Online (Sandbox Code Playgroud)

import codecs
f = codecs.open(filename, encoding="utf-8")
Run Code Online (Sandbox Code Playgroud)

何时比较codecs.openopen

python unicode codec

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

如何编写Firefox或任何基于Mozilla的浏览器的脚本

我需要自动化这样的事情:

  1. 打开一个URL
  2. 等到页面完全加载
  3. 将COMPLETE页保存为...(我可以提供名称).

我看到https://developer.mozilla.org/en/Command_Line_Options但我找不到一个选项来调用命令"将页面保存为...(在模式网页完成中)".所以我可以拥有显示页面所需的所有css,js,xml和相关文件.

我知道一些Python,如果我找到一种与Firefox"交谈"的方法,我可以使用它.webbrowser模块在这里没有帮助,因为它不允许保存页面:http://docs.python.org/library/webbrowser.html

我对任何解决方案都开放了.

平台:Linux,但如果没有其他方法,我可以使用另一个.

重要提示:我不能只检索Web服务器提供的HTML,因为我需要用于查看浏览器呈现的页面的所有css,js,图像和文件.例如,图像可能未在HTML中链接,而是由呈现页面时执行的js引用.我认为我可以检索此图像的唯一方法是执行页面,就像我是浏览器一样,然后从结果页面(而不是原始页面)获取所有文件.

python scripting firefox

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

SQLite参数替换和引号

我有这条线可以正常工作:

c.execute('select cleanseq from cleanseqs WHERE newID="%s"'%name)
Run Code Online (Sandbox Code Playgroud)

但我想使用SQLite参数替换而不是字符串替换(因为我在这里看到这更安全).

这是我的(失败)尝试:

t = (name,)
c.execute('select cleanseq from cleanseqs WHERE newID="?"',t)
Run Code Online (Sandbox Code Playgroud)

但是这条线返回:

'提供的绑定数量不正确.当前语句使用0,并且有1个提供.

所以我的陈述的左边部分不起作用.我提供一个绑定(名称,在t)但似乎没有解析问号(?).如果我删除引用的引号,它就可以了.但我希望引号留在那里,因为我记得有些情况我需要它们.

所以问题是:我如何转换这一行:

c.execute('select cleanseq from cleanseqs WHERE newID="%s"'%name)
Run Code Online (Sandbox Code Playgroud)

python sqlite

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

如何查看浏览器发送的内容

为了进行调试,我需要确切地看到浏览器发送到表单的内容.我有Mozilla的"篡改数据"插件,但它没有告诉我我在寻找什么.我需要的是一个包含浏览器发送的所有文本文件,它应该如下所示:

Content-Type: multipart/form-data; boundary=AaB03x

   --AaB03x
   Content-Disposition: form-data; name="submit-name"

   Larry
   --AaB03x
   Content-Disposition: form-data; name="files"
   Content-Type: multipart/mixed; boundary=BbC04y

   --BbC04y
   Content-Disposition: file; filename="file1.txt"
   Content-Type: text/plain
Run Code Online (Sandbox Code Playgroud)

php browser http

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

我需要一个Python类来跟踪它实例化的次数

我需要一个像这样工作的类:

>>> a=Foo()
>>> b=Foo()
>>> c=Foo()
>>> c.i
3
Run Code Online (Sandbox Code Playgroud)

这是我的尝试:

class Foo(object):
    i = 0
    def __init__(self):
        Foo.i += 1
Run Code Online (Sandbox Code Playgroud)

它按要求工作,但我想知道是否有更多的pythonic方法来做到这一点.

python class instances

4
推荐指数
2
解决办法
1770
查看次数

在Python中排序磁盘I/O错误

如何从"尝试写入只读文件系统"中挑选(区分)从"磁盘已满状态"派生的错误?我不想填写我的HD来找出:)我想知道是谁捕获每个异常,所以我的代码可以在用户尝试写入ReadOnly FS时向用户说些什么,如果是用户正在尝试在已满的磁盘中写入文件.

python exception

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

在Python中检查模块而不使用异常

我可以在Python中检查一个模块,例如:

try:
  import some_module
except ImportError:
  print "No some_module!"
Run Code Online (Sandbox Code Playgroud)

但我不想使用try/except.有没有办法实现这个目标?(它应该适用于Python 2.5.x.)

注意:不使用try/except的原因是任意的,这只是因为我想知道是否有办法在不使用异常的情况下测试它.

python module python-module

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

解释这个特殊的REGEX

我前段时间做了一个REGEX模式,我不记得它的含义了.对我来说这是一种只写语言:)

这是REGEX:

"(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$"
Run Code Online (Sandbox Code Playgroud)

我需要用简单的英语知道这意味着什么.

python regex

0
推荐指数
1
解决办法
549
查看次数