Hello Python

先前一直用Java开发,所以也积累了很多自己写的小工具,但此次遇到从大量tar.gz包里批量提取文件的工作,java运行起来效率很低,据SA说python做相关操作会快很多,比操作系统本身的命令都快,所以尝试着用下。

 

第一步,Hello World

 

查了下网上对Python的介绍,决定还是先用Python2,可能用的人多用得久,遇到问题也容易搜到,反正我就算遇到问题也都是些通用的问题吧。

 

下了Python2.7.6,官网下的msi,默认安装完成后,手工加了下环境变量,把c:\python27加到Path里

 

用文本编辑器些了个HelloWorld,保存成py文件,然后命令行运行python hello.py,成功!

 

第二步,解压tar

 

import tarfile,os

 

os.chdir("C:\\2013")

tar = tarfile.open("XXX.tar.gz")

for member in tar.getmembers():

    print "%s" %(member.name)

tar.close()

 

运行OK,打出了每个tarInfo的文件名,其他压缩文件的处理可见

https://docs.python.org/2/library/tarfile.html

 

第三步,连接Oracle

 

按照网上说的到 http://cx-oracle.sourceforge.net/ 下了个安装包,安装好后在IDLE里敲了

>>> import cx_Oracle

结果报错

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: DLL load failed: 找不到指定的程序。

 

查到这篇blog

http://blog.csdn.net/huzhenwei/article/details/3946308

 

百度了下instantclient-basic-win32,就把里面的oci.dll单独copy到C:\Python27\Lib\site-packages

再试了下,OK

 

之前单独下了个oci.dll不管用,还试了下了oraociei11.dll和oraocci11.dll,100多M,也不管用,还是下Oracle的instantclient靠谱,官网上还找不着,直接百度下的。

 

至此,基本的问题都解决了,下面开始写小工具了

 

-------------------------------------------

好吧,把oci.dll放到site-packages目录下是不行的,写了个select,报错Unable to acquire Oracle environment handle

。。。。。。。

还是把instantclient-basic-win32全解压到一个目录,然后在环境变量的Path里将此目录放在最前(必须比Oracle的目录靠前)

 

再跑,报错ORA-12705: Cannot access NLS data files or invalid 

查了下说是字符集不匹配的关系,

把注册表里\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 本级和下级目录下的NLS_lang 的NA值修改为SIMPLIFIED CHINESE_CHINA.ZHS16GBK;

OK,可以select了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值