cx_Oracle中传入布尔值到存储过程

cx_Oracle 有个方法 cursor.callproc 它可以接受列表或者字典当作传入参数 但是我碰到了困难 如何都传入不了TRUE和FALSE Google了很久 只有一些人提出这个问题 没有答案 只能曲线救国了 sql="""BEGIN dbms_mview.refresh(:view, 'C' , 'ATOMIC_REFRESH' => FALSE ); end;""" cursor.execute(sql,(view_name,)) 希望谁知道怎么直接传入布尔值的给我留言说一下

2014年4月11日 · 1 分钟 · Hyacinthus

Vim7.3的python3自动补全

现在新的东西已经完全用python3写了 所以我不顾一切把所有默认设置都调成了为python3服务 此文的前提是vim的编译选项必须有+python3 使用:version命令可以查看 Windows版默认是有的 如下图 dyn代表是支持动态加载 如果python和python3都有 那必然是动态加载的 不然会冲突嘛 有了这个以后 你还必须要安装有python3.1 现在都用3.2了 但是你还是得再安装个3.1 因为几个vim编译版都是用3.1的python编译的… 在vim里执行如下命令 要是不报错就没问题了 :python3 print(“hello world”) 注意vim和python必须都是32位或者64位 要是不统一当然也不行 dll不兼容的 在vim的autoload文件夹 应该有python3complete.vim这个文件 打开看 它的方法是python3complete#Complete 它可以支持python3的语法自动补全 不过 很遗憾 没有地方用它 然后我们到ftplugin这个文件夹 此文件夹是在启用了filetype plugin后 会在检测到文件类型后加载里边相应文件类型的插件 找到python.vim 找到如下行 本来它使用的是python2的补全 只需要在python后加个3就好了 就是我们刚看到的那个方法 重启vim 现在Ctrl+x Ctrl+o的补全 应该就是python3版的了

2012年5月5日 · 1 分钟 · Hyacinthus

在windows下使用pyflakes

pyflakes是python的语法检查模块 在windows下可以用pip正常安装 注意如果是python3上安装的话要安装pyflakes3k这个版本 可是在python的scripts文件夹下 只有一个linux的执行版本 其实那只是一个python脚本而已 我们做一个名字为pyflakes.bat的脚本就可以达到同样的效果 内容如下 @echo off rem Use python to execute the python script having the same name as this batch rem file, but without any extension, located in the same directory as this rem batch file python “%~dpn0” %* 对了,这里边的python可以根据你自己的情况 指定绝对路径或者python3之类的 在这样做一番以后 也可以用pyflakes的vim插件了 地址如下https://www.vim.org/scripts/script.php?script_id=2441 按F7可以激活语法检查 在错误窗口上 按q是直接可以退出的哦 方便吧

2012年4月30日 · 1 分钟 · Hyacinthus

安装psycopg2的方法

换了电脑 用pip装psycopg2这个模块的时候 又报一大堆错 一个一个的解决了4步才搞定 其实这些问题以前都遇到过 不过时间太久了 只能又重蹈覆辙一次 还是记下来吧 其实它依赖的就这3个条件 c编译器 postgreSQL的lib postgreSQL的include 在linux上 必须有gcc之类的编译器 然后postgreSQL的lib文件夹加在环境变量LD_LIBRARY_PATH 当然有的系统比如AIX是LIB_PATH postgreSQL的include文件夹加在环境变量C_INCLUDE_PATH里 在windows上 你必须装vs c++ 2008 express版也可以的 当然有人用其他的编译器也可以 不过需要自己下载然后安装这个包 自己加适当的编译参数了 划不来的 还不如下个vs 2008 express pip就可以自己搞定了 在装了vs以后 要把目录添加到PATH里 有时候系统并不会自己添加 我的是C:Program FilesMicrosoft Visual Studio 9.0VC 你不一定是这样 可以自己找找 然后要把 postgreSQL的lib文件夹加在环境变量LIB里 postgreSQL的include文件夹加在环境变量INCLUDE里 这样应该就可以一次成功了… 其实需要编译并且依赖其他软件的包 思路都是如此的

2012年4月30日 · 1 分钟 · Hyacinthus

在vim中查看python文档

众所周知python有个命令是pydoc 可以启动文档服务器 或者直接查看文档 但是有时候在vim中还是懒得再去命令行里或者网页里查文档 于是找到个插件 可以直接在vim中查python文档 https://www.vim.org/scripts/script.php?script_id=910 不过我在gvim中用 不是特别满意 主要因为我习惯把gvim全屏 然后可以纵向分屏左右各显示一个文件 而这个插件会横向分屏显示文档 于是我把它改了改 如果你恰好也是全屏使用gvim 那么这个效果应该还不错 它会在右侧打开一个60宽度的窗口显示doc 文件在这里 https://gist.github.com/2552337 比较常用的功能是把光标停在一个词上 然后按大写的K 这时候就会自动搜索这个的单词的文档 当然也可以用Pydoc命令查询模块文档 和Pydocs命令查询关键字的文档 相当于 pydoc –k vim要求自定义命令必须大写开头 挺烦人的

2012年4月30日 · 1 分钟 · Hyacinthus

python3中的base64

在python3中 base64只能用bytes型了 而一般的文件又都是utf8写的 很不方便 不知道基于什么考虑 所以 tmp=base64.encodestring(‘hello’) 是会报错的 应该是 tmp=base64.encodebytes(b’hello’) 这个encodebytes和encodestring现在是同义词 可能为了兼容以前(这兼容什么啊 肯定不兼容了 就是让方法没消失罢了) 官方建议用bytes 因为逻辑上只能加密bytes数据嘛 解密是 base64.decodebytes(b’aGVsbG8=n’) 会再解成 b’hello’ 另外要注意 加密出来的tmp也是bytes型的啦 要是想要给别人或别的程序 还要再转换成字符串 bytes.decode(tmp) 这样才又是普通的字符串了 不知道为啥官方不让两个string方法输入输出都统一成u8的字串 那多方便…

2012年4月17日 · 1 分钟 · Hyacinthus

我要投入Debian的怀抱啦

我一直是Redhat系的 公司的服务器用RHEL 自己的服务器用CentOS 桌面环境用Fedora 但是我发现个问题 自己平时最喜欢的就是研究新东西 而且也是版本升级控 CentOS上的东西 版本实在是落后 就算加了EPEL 也没多大改善 很多官方都宣称稳定的版本半年一年了 Yum上也不见有更新 今天看了看Debian的仓库 stable的也有点旧 但是testing的就很新呀 比如我用的python3.2.2 nginx1.1.12 postgreSQL9.1.2之类的 都好新的 我以前就喜欢Debian的logo 用CentOS纯粹是惯性 最近自己编译软件编译烦了 总是少包报错 Debian看来应该能直接更新 可以省出时间研究别的好玩的 另外我在决定前还查了查资料 据说在VPS里Debian和CentOS也是平分秋色的 然后还查了下stackoverflow 见这篇 于是没有什么好犹豫的了 我去装Debian去了…

2012年1月30日 · 1 分钟 · Hyacinthus

Windows环境在python3装pip

官方页面引导的easy_install为Windows准备的安装包只有2.x版本的 那么想在python3安装pip首先没有easy_install啊 即使下到pip的安装包也安不上 其实只要到这个页面 https://pypi.python.org/pypi/distribute#downloads 下载easy_install的tar.gz的源码 然后解压进到其目录里 C:\python32\python setup.py install 因为多版本的问题 我没有将python3放入PATH 如果放入了就不用输入前边的路径了 然后就有easy_install了 接着执行 C:\python32\Scripts\easy_install pip 网络可能不稳定 你懂的 不行了翻出去 这时就装上pip了 如果python3是你的主环境 那么可以把C:\python32\Scripts这个路径也加到PATH里 如果还要用2.x版本 那还是加上路径用pip吧 这样想装什么其他的库都很方便了 ———————————————- 2013年4月16日更新 如今python3受到的支持越来越多 应该可以直接安装pip了 参照pip的安装文档即可

2011年10月21日 · 1 分钟 · Hyacinthus

NameError: global name ‘execfile’ is not defined

这是Google App Engine的一个错误 如果GAE报这个错说明连接的python不对 在本地控制台的Edit – Perferences里的第一个就是python的路径 把它改成2.x的就好了 由于看到了GAE将来价格的昂贵 我后来都研究自己用Python3.2 + CherryPY搭建环境了 我很喜欢google 但是更喜欢新的东西 所以还有个原因这GAE的Python2.5说要升2.7那么久一直也没升 反正只是娱乐 还不如自己玩最新的东西了 如果要玩Python3的话 现在着实没有什么框架 推荐本书 Python.3.Web.Development.Beginners 网上到处都有下载的 示例代码官方网站也能免费下载 不过这真是给Beginner的 高手还是别看了…很弱

2011年10月8日 · 1 分钟 · Hyacinthus

在Linux/unix系统上安装最新的python

Unix系统是自带python的 不过就我用的AIX5.3和Redhat EL 5.3来说 都带的是2.4的 2.4最不方便的是exit还要带sys.exit() 还有一些其他不同 于是只好重新装个高版本的python 给Linux装python还是很简单的 和其他软件一样 首先在官方网站下载 比如选Python 2.7.1 compressed source tarball 将其传到服务器上解压 进入文件夹 ./configure make make install 这就应该自动安装完了 可以打python看看版本变了没 如果没有 whereis python看看链接在哪里 一般是/usr/bin/python 把这个链接删掉修改成最新的安装的那个 安装的路径注意下之前刷的日志应该能找到 嗯 为了访问Oracle 我还一起安装了cx_Oracle 这个安装稍微麻烦些 下次再说

2011年5月8日 · 1 分钟 · Hyacinthus