• Python基础(2)


      1、MySQL API

      1)安装

      在https://pypi.python.org/pypi/MySQL-python下载MySQL-python包 -> 解压后进入目录,先后执行sudo python setup.py build和sudo python setup.py install。

      可能出现的错误及解决方案:

      (1)sudo python setup.py build时出现错误EnvironmentError: mysql_config not found:先执行sudo apt-get install libmysqld-dev修复问题;

      (2)sudo python setup.py install时出现错误pymemcompat.h:10:20: fatal error: Python.h: 没有那个文件或目录:先执行sudo apt-get install python-dev修复问题。

      2)使用

    >>> import MySQLdb
    >>> db = MySQLdb.connect("192.168.0.1", "user", "passwd", "db") # 打开数据库连接 >>> cursor = db.cursor() # 获取操作游标 >>> cursor.execute("show tables") >>> rows = cursor.fetchall() # cursor.fetchone()获取"结果集指针"当前所指的一条记录;cursor.rowcount获取结果集大小 >>> for row in rows: ... print row[0] # row是一个元组 ... test1 test2 test3 >>> db.close() # 关闭数据库连接

      另外,Python DB API的事务还提供了两个方法:db.commit()和db.rollback()。

      2、异常处理

    >>> try:
    ...     1 + "abc"
    ...     print "shit"
    ... except TypeError:                    # 此处可以没有或有多种异常
    ...     print "TypeError Exception occurs"
    ... else:                                # 没有异常发生
    ...     print "successfully"
    ... 

      另外,关键词finally可以定义"无论是否发生异常都会执行"的分支

    >>> def MyConvert(var):
    ...     try:
    ...         return int(var)
    ...     except ValueError, Argument:        # ValueError异常类的实例Argument
    ...         print "The argument does not contain numbers
    ", Argument
    ...         return Argument
    ... 
    >>> c = MyConvert("xyz")
    The argument does not contain numbers
    invalid literal for int() with base 10: 'xyz'
    >>> c
    ValueError("invalid literal for int() with base 10: 'xyz'",)
    >>> int("xyz")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: 'xyz'

      用户自定义异常:

    >>> class NetworkError(RuntimeError):                      # 继承自RuntimeError类
    ...     def __init__(self, arg=()):  
    ...         self.args = arg
    ... 
    >>> try:
    ...     raise NetworkError(("Bad hostname", "Bad port"))   # raise触发异常
    ... except NetworkError, e:                                # e是NetworkError类的实例
    ...     print e.args
    ... 
    ('Bad hostname', 'Bad port')

      3、获取命令行参数

    import sys
    
    print sys.argv[0]    # 脚本名
    print sys.argv[1]    # 第一个参数

      4、输入输出

      1)输入

    >>> str=raw_input("Enter your input:")  # 该函数从标准输入读取一行并返回一个字符串(去掉结尾的换行符)
    Enter your input:hello world
    >>> print str
    hello world
    
    >>> str=input("Enter your input:");    # 该函数和raw_input基本可以互换,但它会假设输入是Python表达式,并返回运算结果
    Enter your input:[x * 5 for x in range(2, 10, 2)]
    >>> print str
    [10, 20, 30, 40]

      参考资料:

      http://www.w3cschool.cc/python/python-tutorial.html

    不断学习中。。。

  • 相关阅读:
    服务器Jmail配置问题
    Silverlight视频教程、资源下载。如果你觉得看图文不够形象,不够生动,那就看看视频吧。
    AspNetPager,asp.net分页的最终解决方案!
    VS2008的Web Application——net 1.1 CodeBehind 模式的回归(非编译模式)
    修复Jscript(IE浏览器脚本引擎)异常
    SQL Server中查看SQL句子执行所用的时间
    SilverLight开发系列第1步:搭建开发环境
    SilverLight开发系列第2步:使用vs2008和Blend 2.5打造Hellow World程序
    谨慎使用Paypal一类的 支付 中介公司
    一个典型的数据库操作事务死锁分析
  • 原文地址:https://www.cnblogs.com/hanerfan/p/3762851.html
Copyright © 2020-2023  润新知