问题列表 - 第27648页

阻止Python缓存导入的模块

在使用IPython在Python中开发一个大型项目(分成几个文件和文件夹)时,我遇到了缓存导入模块的麻烦.

问题是指令import module只读取模块一次,即使该模块已经改变!因此,每次我更改包中的内容时,都必须退出并重新启动IPython.痛苦.

有没有办法正确强制重装一些模块?或者,更好的是,以某种方式阻止Python缓存它们?

我尝试了几种方法,但都没有效果.特别是我遇到了非常非常奇怪的错误,就像一些模块或变量神秘地变得相等None......

我找到的唯一明智的资源是从pyunit 重新加载Python模块,但我没有检查它.我想要那样的东西.

一个很好的替代方案是让IPython重启,或以某种方式重启Python解释器.

那么,如果你用Python开发,你找到了什么解决方案来解决这个问题?

编辑

为了清楚起见:很明显,我理解一些旧的变量取决于模块的先前状态可能会存在.那个我能接受.为什么在Python中如此难以强制重新加载模块而不会发生各种奇怪的错误?

更具体地说,如果我将整个模块放在一个文件中,module.py那么以下工作正常:

import sys
try:
    del sys.modules['module']
except AttributeError:
    pass
import module

obj = module.my_class()
Run Code Online (Sandbox Code Playgroud)

这段代码很漂亮,我可以在不退出IPython的情况下开发数月.

但是,每当我的模块由多个子模块组成时,地狱就会松动:

import os
for mod in ['module.submod1', 'module.submod2']:
    try:
        del sys.module[mod]
    except AttributeError:
        pass
# sometimes this works, sometimes not. WHY?
Run Code Online (Sandbox Code Playgroud)

为什么我的模块在一个大文件或几个子模块中是如此不同?为什么这种方法不起作用?

python import python-module ipython python-import

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

解码android中的HTML实体

我需要解码HTML实体,例如来自ö 到ö,和& 至 &.

URLEncoder.decode(str)不做这项工作(从%表示法转换).TextUtils有一个HTMLencode,但不是HTMLdecode.

是否有解码HTML实体的功能?

html android decode

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

如何处理其他线程上的错误?

我正在尝试处理.NET CF程序如下所示的其他线程上发生的错误:

static void Main()
{
    Thread t = new Thread(Start);
    t.Start();
    ...
}

void Start()
{
     ... Exception here

}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,在Start方法中放置try catch是不可能的.我如何在全局代码中处理它?

.net multithreading compact-framework exception-handling

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

来自x509中的char缓冲区的EVP_PKEY(PKCS7)

我有一个DER证书,我从中检索unsigned char缓冲区中的公钥,如下所示,这是正确的获取方式吗?

pStoredPublicKey = X509_get_pubkey(x509);
if(pStoredPublicKey == NULL)
{
        printf(": publicKey is NULL\n");
}
if(pStoredPublicKey->type == EVP_PKEY_RSA) {
        RSA *x = pStoredPublicKey->pkey.rsa;
        bn = x->n;
}
else if(pStoredPublicKey->type == EVP_PKEY_DSA) {

}
else if(pStoredPublicKey->type == EVP_PKEY_EC) {
}
else {
        printf(" : Unkown publicKey\n");
}
//extracts the bytes from public key & convert into unsigned char buffer
buf_len = (size_t) BN_num_bytes (bn);
key = (unsigned char *)malloc (buf_len);
n = BN_bn2bin (bn, (unsigned char *) key);
for (i = 0; …
Run Code Online (Sandbox Code Playgroud)

openssl

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

我应该在什么条件下测试get()和set()方法?

我无法确认是否要进行这些测试.似乎set和get方法很简单,例如:

setA(String A) {
    this.A = A;
} 

getA(){
    return A;
}
Run Code Online (Sandbox Code Playgroud)

任何想法,将不胜感激!

谢谢,约瑟夫

java junit unit-testing

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

UITableView平滑滚动性能

什么使图像加载时UITableView上的滚动如此不连贯?是因为他们需要添加为子视图吗?或者是因为图像需要缓存?都?

iphone cocoa-touch objective-c uitableview

5
推荐指数
1
解决办法
2140
查看次数

在rails中,如何验证非唯一性字段?

我可以进行与validates_uniqueness_of完全相反的验证吗?即我想在数据库中不存在用户输入时显示错误消息.

谢谢大家.:)

validation ruby-on-rails validates-uniqueness-of

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

如何在禁用javascript时显示隐藏的div?

我正在隐藏一个div使用display:none,div这只在我们点击+图标时显示.但如果JavaScript被禁用,那么我想在div默认情况下显示.这该怎么做?

我暂时不能发布完整的代码.

jQuery(document).ready(function() {
  jQuery('a#toggle').click(function() {
       jQuery('#map').slideToggle(400);
       return false;

});
Run Code Online (Sandbox Code Playgroud)

CSS

#map {display:none}
Run Code Online (Sandbox Code Playgroud)

css xhtml jquery

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

在SQL Server中,如何将大量的tsql语句分成批处理?

在SQL Server中,如何将大量的tsql语句分成批处理?我应该在存储过程或函数中使用GO语句吗?我应该在显式事务管理情况下使用GO语句(在BEGIN TRANSACTIONROLLBACK TRANSACTIONCOMMIT TRANSACTION之间)吗?关于这个主题是否有一些最佳实践?非常感谢提前.

t-sql transactions sql-server-2005

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

在SQL Server中,我如何知道我当前使用的事务模式?

在SQL Server中,我如何知道我当前使用的事务模式?如autocommit,显式或隐式.如何使用tsql将一种模式更改为另一种模式?十分感谢.

t-sql transactions sql-server-2005

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