最近在用Python编写连接数据库获取记录的脚本,其中用到了cx_Oracle模块。它的语法主要如下:cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME')importcx_Oracledb1=cx_Oracle.connect('yang','yang','127.0.0.1:1523/yangdb')db2=cx_Oracle.connect('yang/yang@127.0.0.1
系统 2019-09-27 17:47:07 1783
最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表。在获取csv文本内容的时候,基本上都是用withopen(filename,encoding='UTF-8')asf:来打开csv文本,但是实际使用过程中发现有些csv文本并不是utf-8格式,从而导致程序在run的过程中报错,每次都需要手动去把该文本文件的编码格式修改成utf-8,再次来run该程序,所以想说:直接在程序中判断并修改文本编码。基本思路:先查找该文本是否是utf-8的编
系统 2019-09-27 17:46:34 1783
在表达式中引用变量时,Python会按照如下的顺序遍历各个作用域,寻找该变量:当前函数作用域任何外围作用域(比如包含当前函数的其他函数)global作用域,即代码所在的模块的作用域如果上述作用域内都找不到变量,就会报NameError异常。但是对变量赋值时,规则会有所不同。如果当前作用域变量已存在,那么其值会被替换。如果不存在,则会视为在当前作用域定义新变量,而不是向外围作用域中寻找。如下函数deffunction():flag=Truedefhelper
系统 2019-09-27 17:46:14 1783
今天在写爬虫程序的时候由于要翻页,做除法分页的时候出现了复制代码代码如下:totalCount='100'totalPage=int(totalCount)/20ValueError:invalidliteralforint()withbase10的错误网上同样的错误有人建议用round(float(“1.0″)),但是解决不了我这个问题,round(float(“1.0″))是用于解决浮点数转换为整形数的,而我这个则是因为原字符串转换为整形后做除法,虽然
系统 2019-09-27 17:45:38 1783
如果不用“with”,那么Python会在何时关闭文件呢?答案是:视情况而定。Python程序员最初学到的东西里有一点就是可以通过迭代法很容易地遍历一个打开文件的全文:f=open('/etc/passwd')forlineinf:print(line)注意上面的代码具有可行性,因为我们的文件对象“f”是一个迭代器。换句话说,“f“知道在一个循环或者任何其他的迭代上下文中做什么,比如像列表解析。我的Python课堂上的大多数学生都具有其他编程语言背景,在使
系统 2019-09-27 17:45:26 1783
python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判
系统 2019-09-27 17:38:36 1783
本文以实例形式较为详细的讲解了Python的多线程,是Python程序设计中非常重要的知识点。分享给大家供大家参考之用。具体方法如下:用过Python的人都会觉得Python的多线程很类似于Java的多线程机制,但是比JAVA的多线程更灵活。在早期的Python多线程实现中,采用了thread模块。例如:fromtimeimportctime,sleepfromthreadimportstart_new_threaddefloop1():print"ent
系统 2019-09-27 17:38:23 1783
数在Python中,对数的规定比较简单,基本在小学数学水平即可理解。那么,做为零基础学习这,也就从计算小学数学题目开始吧。因为从这里开始,数学的基础知识列位肯定过关了。>>>33>>>33333333333333333333333333333333333333333333333333333333333333333333333333333333L>>>3.2222223.222222上面显示的是在交互模式下,如果输入3,就显示了3,这样的数称为整数,这个称呼
系统 2019-09-27 17:38:22 1783
我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库,在之前写过的python高可用程序设计方法中提供了类似nginx中masterprocess和workerprocess间信号处理的方式,保证了业务进程的退出可以被主进程感知。多线程编程python中有Thread和threading,在linux下所谓的线程,实际上是LW
系统 2019-09-27 17:38:17 1783
前言最近在维护项目的python项目代码,项目使用了python的日志模块logging,设定了保存的日志数目,不过没有生效,还要通过contab定时清理数据。分析项目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log
系统 2019-09-27 17:38:11 1783