在使用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)
为什么我的模块在一个大文件或几个子模块中是如此不同?为什么这种方法不起作用?
我需要解码HTML实体,例如来自ö 到ö,和& 至 &.
URLEncoder.decode(str)不做这项工作(从%表示法转换).TextUtils有一个HTMLencode,但不是HTMLdecode.
是否有解码HTML实体的功能?
我正在尝试处理.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是不可能的.我如何在全局代码中处理它?
我有一个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) 我无法确认是否要进行这些测试.似乎set和get方法很简单,例如:
setA(String A) {
this.A = A;
}
getA(){
return A;
}
Run Code Online (Sandbox Code Playgroud)
任何想法,将不胜感激!
谢谢,约瑟夫
什么使图像加载时UITableView上的滚动如此不连贯?是因为他们需要添加为子视图吗?或者是因为图像需要缓存?都?
我可以进行与validates_uniqueness_of完全相反的验证吗?即我想在数据库中不存在用户输入时显示错误消息.
谢谢大家.:)
我正在隐藏一个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) 在SQL Server中,如何将大量的tsql语句分成批处理?我应该在存储过程或函数中使用GO语句吗?我应该在显式事务管理情况下使用GO语句(在BEGIN TRANSACTION和ROLLBACK TRANSACTION或COMMIT TRANSACTION之间)吗?关于这个主题是否有一些最佳实践?非常感谢提前.
在SQL Server中,我如何知道我当前使用的事务模式?如autocommit,显式或隐式.如何使用tsql将一种模式更改为另一种模式?十分感谢.
t-sql ×2
transactions ×2
.net ×1
android ×1
cocoa-touch ×1
css ×1
decode ×1
html ×1
import ×1
iphone ×1
ipython ×1
java ×1
jquery ×1
junit ×1
objective-c ×1
openssl ×1
python ×1
uitableview ×1
unit-testing ×1
validation ×1
xhtml ×1