小编Pio*_*pla的帖子

32位系统上SQLite的文件大小限制

我使用sqlite作为临时存储来计算有关中等大数据集的统计信息.我想知道如果我的数据库在32位系统上超过2GB会发生什么.(我目前无法将系统更改为64位)

它是否使用内存映射文件并在文件大小超过可寻址内存时中断?(像mongodb)

sqlite

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

Django app初始化代码(如连接信号)

我需要一个地方来运行特定于应用程序的初始化代码(比如连接到信号).当我将代码放到__init__.py应用程序的模块时,我最终得到了模型的循环导入.

有没有办法在框架设置和执行任何请求之前触发函数?

我使用相当旧版本的django 96.6,但我也对当前版本的解决方案感兴趣.

关于其他问题的重复: 以下是问题与S.Lott在评论中建议的重复内容的不同之处:

对当前解决方案的评论: 我无法使用网址,因为我的大多数应用都没有公开任何网址.他们只是收听信号并在数据库中存储其他信息.

python django

8
推荐指数
2
解决办法
3232
查看次数

在spaghetti代码库之上使用什么php框架?

我的团队必须维护一个写得很糟糕的大型php应用程序.它是在一个设计不佳的数据库之上混合使用html,javascript和SQL(例如,它有一个包含几百列的表).代码库的唯一优势是它可以工作.

我们经常修复错误并重写它的一部分.

我想给我们做的重写提供一个结构,所以我想将mvc框架集成到代码库中.你能建议一个好的环境框架吗?

以下是我希望从这样的框架中获得的事项列表:

  • API必须非常稳定.我们不能在每个版本上重写代码.
  • 自定义会话管理或至少使用标准$ _SESSION [](能够与旧代码交谈).
  • 自定义验证.
  • 应该很好地支持使用原始SQL(数据库很难用对象表示).
  • 它不应该假设每个控制器都有一个表.

php frameworks

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

为什么scala的模式加工在类型匹配的for循环中不起作用?

我正在编写一个API,使我可以访问远程文件系统.API返回文件和目录列表作为节点对象列表(父文件和目录).

我想只在一个目录上工作,忽略文件.我试图在for循环中使用类型模式匹配,但它不起作用:

for {
    dir: CSDir <- workarea.getChildren() // <-- I'm getting an error here complaining about type conversion
} {
    println(dir)
}
Run Code Online (Sandbox Code Playgroud)

下面是一个使用scala基本对象运行它而没有依赖关系的类似示例:

val listOfBaseObjects:List[Any] = List[Any]("a string", 1:Integer);

for (x: String <- listOfObjects) {
  println(x)
}
Run Code Online (Sandbox Code Playgroud)

我最终在for循环的一侧使用常规模式匹配,并且工作正常:

// This works fien
for (child <- workarea.getChildren()) {
  child match {
    case dir: CSDir => println(dir)
    case _ => println("do not nothing")
  }
}
Run Code Online (Sandbox Code Playgroud)

题:

你能告诉我为什么第一个/第二个例子在scala 1.9中不起作用吗?

在"Scala编程"中, for广告循环使用相同的模式匹配,match因此它应该起作用.

如果for和match不同,那么如果你能指出一些有更多细节的文章会很棒.分配中的模式匹配怎么样?

更新:

我不能接受一个答案,该答案表明不可能跳过for循环中的元素,因为这与"Scala中的Prog."相矛盾.这是第23.1节中的一个片段:

pat <- expr …

casting scala pattern-matching

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

如何将py_func与返回dict的函数一起使用

我正在使用编写输入管道tf.data.Dataset。我想使用python代码加载和转换样本,该代码返回张量字典。不幸的是,我看不到如何将其定义为传递给的输出类型tf.py_func

我有一个解决方法,我的函数返回张量列表而不是字典,但是由于我在那个字典中有4个键,因此它使代码的可读性降低。

该代码看起来如下

file_list = ....

def load(file_name):
    return {"image": np.zeros(...,dtype=np.float32),
           "label": 1.0} # there is more labels, in the original code

ds = tf.data.Dataset.from_tensor_slices(file_list)
ds.shuffle(...)
out_type = [{'image':tf.float32, "label":tf.float32 }] # ???? 
ds.map(lambda x: tf.py_func(load, [x], out_type))

ds.batch(...)
ds.prefetch(1)
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow-datasets

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

在python 2.6上加载win32file.pyd的问题

即使是使用win32file的简单脚本,我也无法使py2exe正确打包我不断收到以下错误消息:

Traceback (most recent call last):
  File "dependency_checker.py", line 1, in <module>
  File "win32file.pyc", line 12, in <module>
  File "win32file.pyc", line 10, in __load
ImportError: DLL load failed: The specified procedure could not be found.
Run Code Online (Sandbox Code Playgroud)

该脚本如下所示:

import win32file
print "Hello world!"
Run Code Online (Sandbox Code Playgroud)

这是setup.py:

from distutils.core import setup
import py2exe
setup(console=['dependency_checker.py'])
Run Code Online (Sandbox Code Playgroud)

你之前有类似的问题吗?

版本:

Python 2.6.2,py2exe 0.6.9,pywin32-214,Windows 7和Windows XP Pro作为目标机器

更新:

  • 我可以在我创建的Windows 7上运行捆绑的程序,但是我无法在XP机器上运行它.
  • win32file.pyc抛出错误的部分如下所示:

    >>> imp.load_dynamic('win32file', r'C:\test\setup-test\src\dist\win32file.pyd')
    
    Run Code Online (Sandbox Code Playgroud)

我的开发框(Windows 7)上面的行正确运行,而在测试框(Windows XP)上返回错误.

**更新2:**

当我使用imp.load_dynamic加载win32file表单python安装时,我可以为dist文件夹重新加载win32file.pyd而不会出错.

pywin32 py2exe python-2.6

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

在mysql中匹配的regexp中的十六进制字符

我发现了很奇怪的mysql行为.下面的选择返回0:

SELECT CONVERT('a' USING BINARY) REGEXP '[\x61]'
Run Code Online (Sandbox Code Playgroud)

但是在语义上相同的select下面返回1:

SELECT CONVERT('a' USING BINARY) REGEXP '[\x61-\x61]'
Run Code Online (Sandbox Code Playgroud)

你知道这里发生了什么吗?我在mysql 5.0.0.3031和4.1.22中测试过

我需要十六进制字符来创建一个在utf8中编码二进制字符串时匹配的正则表达式.可以在w3c站点上找到这种正则表达式的perl版本.它看起来如下:

$field =~
      m/\A(
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
      )*\z/x;
Run Code Online (Sandbox Code Playgroud)

regex mysql

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

在python日志库中找到"没有足够的参数......"的简单方法

您是否知道任何简单的方法来查找"没有足够的格式字符串争论"的日志记录调用.在我的工作站上,我已修改logging/__init__.py为打印msg,以便我可以轻松找到源代码中的行.

但是,您是否知道如何在测试环境中做什么,您无法更改python标准库,也无法轻松运行pdb?

注意:回溯没有意义,日志记录库也很谨慎.这是一个追溯:

  File "/usr/lib/python2.6/logging/handlers.py", line 71, in emit
    if self.shouldRollover(record):
  File "/usr/lib/python2.6/logging/handlers.py", line 144, in shouldRollover
    msg = "%s\n" % self.format(record)
  File "/usr/lib/python2.6/logging/__init__.py", line 648, in format
    return fmt.format(record)
  File "/usr/lib/python2.6/logging/__init__.py", line 436, in format
    record.message = record.getMessage()
  File "/usr/lib/python2.6/logging/__init__.py", line 306, in getMessage
    msg = msg % self.args
TypeError: not enough arguments for format string
Run Code Online (Sandbox Code Playgroud)

这是标准库中捕获错误的代码

    try:
        if self.shouldRollover(record):
            self.doRollover()
        logging.FileHandler.emit(self, record)
    except (KeyboardInterrupt, SystemExit):
        raise
    except:
        self.handleError(record)
Run Code Online (Sandbox Code Playgroud)

Alex建议的解决方案: 我已经包装了getMessage来打印msg和args.这是代码:

def print_log_record_on_error(func):
    def wrap(self, *args, …
Run Code Online (Sandbox Code Playgroud)

python debugging

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

使用OCunit在iOS上测试异步代码

有没有人知道任何允许使用OCUnit测试异步代码的现有库?我正在考虑类似GHAsyncTestCase但是从中传递的东西SenTestCase.

我问,因为如果我找不到任何我将要移植GHAsyncTestCase到OCUnit,但我不想复制其他人已完成的工作.

iphone objective-c ios

7
推荐指数
2
解决办法
4139
查看次数

Windows上有posix SIGTERM替代品吗? - (轻轻杀死控制台应用程序)

我有一个由GUI应用程序运行的控制台守护程序.当GUI应用程序终止时,我也想停止守护进程.

我如何在Windows上以温和的方式做到这一点?

在Linux上,我只是使用SIGTERM在Windows上是否有类似的机制用于控制台应用程序?

为了提供更多细节,守护进程应用程序是用python编写的,gui是用C#和windows表单编写的.

.net c# windows winapi sigterm

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