月度归档:2013年01月

CHM文件打开后不能正常显示内容的两个解决办法

      从网络上Download下来的CHM文件,常出现打开后不能正常显示内容的情况。我尝试过两种办法解决:
1. 将文件拷贝到桌面,或者C盘根目录下打开;
2. 先将CHM文件压缩为Zip或者rar等格式,然后直接在压缩软件中打开CHM文件,如果内容正常显示了,再把CHM文件拖出来,就可以了。

Drupal 6 区块管理页面的主题

    通常我们只定制Drupal的前台主题(设置为网站的默认主题),管理后台主题使用自带主题(如果garland,设置为管理主题)。在Drupal 6中,大部分页面都没有问题,但是在区块管理页面(路径:admin/build/block)则不是我们想要的结果了,他使用的是默认主题即前台主题,这样就会导致页面显示异常。在网上找了许久没有找到一个不修改Drupal core代码的,几乎都是需要修改block.admin.inc文件的,但是我在Drupal 6.26测试没有通过,现在记录下正确的办法(虽然也是不推荐的,Drupal 7 已经不存在这样的问题了):
1. 打开 modules\block\block.admin.inc
2. 修改 $custom_theme = isset($theme) ? $theme : variable_get('theme_default', 'garland'); 为 $custom_theme = isset($theme) ? $theme : variable_get('theme_admin', 'garland'); 保存即可
3. 清空缓存,查看效果。

Python变量的复制与引用

    在python中,数据库分为可变的类型和不可变的数据类型。对于不可变的数据,复制就没有什么特别的,对于可变的数据进行复制就要注意了,因为通常我们的操作就是浅拷贝,源数据改变,所以引用的变量值都会跟着改变。好在百度中找到了这样的文章,我就直接转这里做记录了。

    简单来说,就是如果只是变量的引用(相当于增加一个别名),就直接使用 等号“= ”就可以了。否则就使用深度拷贝吧。
    深度拷贝使用的方法:

>>> from copy import deepcopy
>>> x=[[1,2],[3,4]]
>>> y=deepcopy(x)

    对于一维元组(如:[1,2,3,4])另外有个简单的方法 y=x[:] 。参见:python 元组的赋值

    字典类型类型数据的深度拷贝类似。需要注意的是它的copy方法也只是一个浅拷贝(shallow copy),和元组的[:]方法类似。

>>> from copy import deepcopy
>>> x={1:[[1,2],[3,4]]}
>>> y=deepcopy(x)
>>> x[1][0].remove(1)
>>> x
{1: [[2], [3, 4]]}
>>> y
{1: [[1, 2], [3, 4]]}
>>> 
>>> 

>>> x={1:[[1,2],[3,4]]}
>>> y=x.copy()
>>> x[1][0].remove(1)
>>> x
{1: [[2], [3, 4]]}
>>> y
{1: [[2], [3, 4]]}
>>> 

>>> 
>>> 
>>> x={1:'a',2:'b'}
>>> y=x.copy()
>>> x.pop(1)
'a'
>>> x
{2: 'b'}
>>> y
{1: 'a', 2: 'b'}
>>> 
 

参考:http://tiankonghaikuo1000.blog.163.com/blog/static/1823159720071199597313/
参考:http://www.cesclub.com/bw/jishuzhongxin/wangluokaifajishu/2011/1129/16327.html