• Python创建目录文件夹

    Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建。

    主要涉及到三个函数

    • os.path.exists(path) 判断一个目录是否存在
    • os.makedirs(path) 多层创建目录
    • os.mkdir(path) 创建目录

    DEMO

    直接上代码

    def mkdir(path):
      # 引入模块
      import os
    
      # 去除首位空格
      path=path.strip()
      # 去除尾部 \ 符号
      path=path.rstrip("\\")
    
      # 判断路径是否存在
      # 存在     True
      # 不存在   False
      isExists=os.path.exists(path)
    
      # 判断结果
      if not isExists:
        # 如果不存在则创建目录
        print path+' 创建成功'
        # 创建目录操作函数
        os.makedirs(path)
        return True
      else:
        # 如果目录存在则不创建,并提示目录已存在
        print path+' 目录已存在'
        return False
    
    # 定义要创建的目录
    mkpath="d:\\qttc\\web\\"
    # 调用函数
    mkdir(mkpath)
    

    ...

    READ ALL

  • Python的startswith与endswith函数

    在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判断文本是否以某个字符结束。

    startswith()函数

    此函数判断一个文本是否以某个或几个字符开始,结果以True或者False返回。

    text='welcome to qttc blog'
    print text.startswith('w')      # True
    print text.startswith('wel')    # True
    print text.startswith('c')      # False
    print text.startswith('')       # True
    

    ...

    READ ALL

  • Python元组添加元素方法

    在Python的元组中,一旦创建就不能改变。也没有提供向元组添加元素的操作函数,因此,要向已创建好的元组添加元素只能另创方法。

    我们知道,元组中的每一个元素的数据类型都不限制,根据这一点我们可以这么做

    # coding=utf8
     
    tuple=('a','b','c')
    print '原先的元组:',tuple
     
    newTuple=(tuple,'d','e')
    print '添加元素后的元组:', newTuple
    

    打印结果

    ('a', 'b', 'c')
    (('a', 'b', 'c'), 'd', 'e')

    虽然是重新声明了一个元组,但不影响元素的使用。新的元素有三个元素,而第一个元素是一个元组,其余的元素则是字符串。这样的元组显然不是我们想要的格式,但可以使用嵌套循环遍历二维元组也可以取得全部元素。

    ...

    READ ALL

  • Python中filter()过滤函数

    filter函数

    filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的结果。

    filter()函数有两个参数:

    • 自定函数名,必须
    • 需要过滤的列,必须

    DEMO

    需求,过滤大于5小于10的数

    # coding=utf8
    # 定义大于5小于10的函数
    def guolvhanshu(num):
      if num>5 and num<10:
        return num
     
    # 定义一个序列
    seq=(12,50,8,17,65,14,9,6,14,5)
     
    # 使用filter函数
    result=filter(guolvhanshu,seq)
     
    # Output: (8,9,6)
    print result
    

    ...

    READ ALL

  • Python字符串与数字拼接报错

    Python不像JavaScript或者PHP这种弱类型语言里在字符串连接时会自动转换类型,而是直接报错。要解决这个方法只有提前把int转成string,然后再拼接字符串即可。

    如代码:

    # coding=utf8
    str = '你的分数是:'
    num = 82
    text = str + num + '分 | 琼台博客'
    print text 
    

    这段程序会报错

    TypeError: cannot concatenate 'str' and 'int' objects

    错误原因是类型不匹配,解决这个方法只有提前把num转换为字符串类型,可以使用bytes函数把int型转换为string型。

    ...

    READ ALL

  • wamp项目移到Linux下惨痛调错经历

    正在做一个基于ZendFramework的项目,要从wamp平台移植到LNMP平台。于是我在VMware上安装了一个CentOS6,并且编译安装了Nginx + php-fpm + MySQL环境。

    出现问题

    在看到phpinfo()界面以后,赶紧配置Nginx的虚拟主机,把ZendFramework项目上传到CentOS里。正常打开项目,但登录后就出现在项目主页与登录界面两个页面之间无限死循环跳转,跳转间隔大约一到两秒,整个页面都是空白,没有任何字符与报错提示。

    没有开启URL重写规则

    因为我在项目下发现有点.htaccess文件,所以就直接认定可能是因为.htaccess文件里可能写了什么东西,没有被Nginx解析到,所以出现无限死循环跳转情况。.htaccess文件时Apache动态加载配置文件,只要放在站点根目录下,就会自动被解析,并且不需要重新启动Apache服务。

    ...

    READ ALL

  • Win7下Eclipse中文字体太小解决方案

    今天安装Eclipse + PyDev准备写写Python,却发现中文字在Eclipse下非常难看。这是由于Eclipse用的字体是Consolas,英文还可以,中文就惨不忍睹。

    换一种字体

    下载字体好看的中文字体,这里推荐下载YaHei.Consolas

    设置Eclipse

    点击 window -> Preferences

    full

    Appearance -> Colors and Font -> Basic -> Text Font -> Edit

    ...

    READ ALL

  • IE部分版本JavaScript获取ID不区分大小写

    昨天做一个JavaScript与Flash交互项目,在其它浏览器都正常运行,唯独IE6、IE7、部分的版本IE8报错。查了很久代码,也未发现是哪里的问题。于是开始逐行try...catch,结果在window.document.video这一句报错了。

    IE不区分大小写导致

    video是Flash的ID,为什么其它浏览器不报错,偏偏这里报错呢?经查,发现页面也有一个div标签,id为Video,难道是大小写的问题?于是把页面div标签id改为video,问题解决。

    做DEMO验证

    难道IE对标签属性值不区分大小写吗?于是我自己做了一个测试。

    ...

    READ ALL

  • 配置Nginx支持pathinfo模式

    缘由

    很久不使用Apache了,渐渐对Apache感到陌生,因为朋友有个ZendFramework框架从Apache移到Nginx下,需要pathinfo模式支持。

    方案搜索

    于是开始搜索Nginx + pathinfo相关文章,一开以为很容易就会配置好。因为搜索后发现有大量文章介绍Nginx开启pathinfo模式,感觉不是什么难事。但是经过几个小时下来,还是没有配置好。并且大量文章的内容都极其相似,基本都是转载的。

    开始有点急了,因为一天过去了没有配好。

    继续摸索

    没办法,继续搜索。为了验证方便,下载thinkphp框架搭了个环境。并且加了UserAction.class.php控制器类,在类里加了一个app方法并输出一行文字。

    ...

    READ ALL

  • MySQL取出表中排序数据且不重复

    今日做一个功能需求,从表中排序取出前十个且数据不一致的数据,如下列a表中的值有

    mysql> select * from a;
    +----+----------+
    | id | user     |
    +----+----------+
    |  1 | zhangsan |
    |  2 | lisi     |
    |  3 | wangwu   |
    |  4 | zhangsan |
    |  5 | zhaosi   |
    |  6 | wangwu   |
    |  7 | lisi     |
    |  8 | lisi     |
    |  9 | zhaosi   |
    +----+----------+
    9 rows in set (0.00 sec)
    

    ...

    READ ALL