Tag: Summary

  • python的入门的几个例子(上)

    在Python for Unix and Linux System Administration列出了几个选择python的理由:

    易入门

    上手后可进行系统管理
    能解决复杂问题
    代码简洁,易读
    关键字使陌生代码易读
    面向对象
    社区优秀
    很好的标准库

    python的基础例子在这里,很有意思,下一个例子的行数是递增的

    http://wiki.python.org/moin/SimplePrograms

    例1.输出显示–Output

    print 'Hello world'

    例2.变量以提示输入的方式赋值,并打印出来–Input, assignment

    name = raw_input('What is your name?\n')
    print 'Hi, %s.' % name

    例3.for循环,内置的列举函数,format格式–For loop, built-in enumerate function, new style formatting

    friends = ['jhon', 'pat', 'gary', 'micheal']
    for i, name in enumerate(friends):
        print "iteration {iteration} is {name}".format(iteration=i, name=name)

    例4.斐波纳契,元组的赋值–Fibonacci, tuple assignment

    parents, babies = (1, 1)
    while babies < 100:
        print 'This generation has {0} babies'.format(babies)
        parents, babies = (babies, parents + babies)

    例5.函数–Functions

    def greet(name):
        print 'hello', name
    greet('Jack')
    greet('Jill')
    greet('Bob')

    例6.import,正则表达式–Import, regular expressions。这里是匹配3位数字-4位数字的字符串。

    import re
    for test_string in [ '555-1212', 'ILL-EGAL' ]:
        if re.match(r'^\d{3}-\d{4}', test_string):
            print test_string, 'is a valid US local phone number'
        else:
            print test_string, 'rejected'

    例7.字典,生成表达式–Dictionaries, generator expressions

    prices = { 'apple': 0.40, 'banana': 0.50 }
    my_purchase = {
        'apple': 1,
        'banana':6}
    grocery_bill = sum(prices[fruit] * my_purchase[fruit]
                       for fruit in my_purchase)
    print 'I owe the grocer $%.2f' % grocery_bill

    例8.调用命令参数,异常处理–Command line arguments, exception handling

    #!/usr/bin/env python
    # This program adds up integers in the command line
    import sys
    try:
        total = sum(int(arg) for arg in sys.argv[1:])
        print 'sum =', total
    except ValueError:
        print 'Please supply integer arguments'

    上面是将跟的参数相加,如果不是整数,则提示需输入整数

    $ python se8.py 1 2 3 4 5 6
    sum = 21
    $ python se8.py 1 2 3 4 5 a
    Please supply integer arguments

    例9.打开文件–Opening files

    # indent your Python code to put into an email
    import glob
    # glob supports Unix style pathname extensions
    python_files = glob.glob('*.py')
    for file_name in sorted(python_files):
    print ' ------' + file_name
    
    with open(file_name) as f:
    for line in f:
    print ' ' + line.rstrip()
    
    print

    例10.时间,条件,from..import,for ..else循环 — Time, conditionals, from..import, for..else

    from time import localtime
    
    activities = {8: 'Sleeping',
                  9: 'Commuting',
                  17: 'Working',
                  18: 'Commuting',
                  20: 'Eating',
                  22: 'Resting' }
    
    time_now = localtime()
    hour = time_now.tm_hour
    
    for activity_time in sorted(activities.keys()):
        if hour < activity_time:
            print activities[activity_time]
            break
    else:
        print 'Unknown, AFK or sleeping!'

    整理一些小知识

    段落注释的方法

    """ """

     

  • 我的evernote使用心得

    以下自己对于evernote这种与云相关的笔记的理解,在使用之前也搜过不同人的用法,最后形成自己的用法。

    工具是为人服务的,每个人用工具的习惯都不一样,不能成为工具的奴隶。我不喜欢把什么东西都往里面放,再花大把的时间去整理,有整理癖的性格该改改了。好东西太多了,只能关注对自己有用的东西。

    我的evernote中,只存有纯文字,以致于每个月分配的60MB流量,我最多也用不到1MB。图片,附件什么的都不放进去,要不dropbox该不高兴了。但主要原因是有那些东西会显得乱,而且我始终认为文字的力量是最伟大的。

    使用evernote,最多只保留10个笔记本(包含子笔记本),笔记本再多,说明有的内容类型可以归到一类了。

    第一个笔记本名叫“swap”,暂存的笔记

    这里面的笔记是随手记下来的,比如说快递单号,电话号码,网址,小知识点,欠谁的钱。不必要的用完就删,是把笔记删掉,而不是把内容删掉,这样以后还能到回收站里收到它。这个要定时清理。

    第二个笔记本是“备用”

    把当前的地址,常用邮箱,支付宝号,可以送的礼物,mac地址,dns,各种卡号,序列号,验证问题等等。当然要信得过evernote才行,这些够私密了。这些东西有人需要,直接发出去,复制肯定比手动输入来得准确。

    第三个笔记本是”每天读一遍”

    把一些需要提醒自己的事,比如锻炼的好处,好习惯,少走弯路的方法等。

    第四个笔记本是”长期记录”

    比如好电影,读书清单,大目标,体重记录等。

    第五个笔记本是“最先完成”

    这里面只有两个笔记,一个是“直到完成为止的”,另外一个是“一次性完成的”。比如申请google adsense,总是被拒,把它放到直到完成为止里面。一次性完成的,比如写一个小脚本,打算买的日常用品。完成后,把里面的内容删掉,这个笔记本当作todo list来用。

    第六个笔记本是“问题解决思路”

    这个相当于知识库了,把问题和解决方法记下来,积累经验,不会经常去动他。公开的知识还是整理到博客中,这样思维清晰,回顾时不受查看地点和环境的影响。

    其他笔记本就是一些工作笔记一类的。

    除了在笔记本上做了一些事情,还有技巧类的,快捷键类的

    如加密文本,待办事项等,可以按F1获取帮助。

    现在已经离不开evernote了,各种终端都有客户端,它的安全性也是我日益警惕的问题。更重要的东西还是用脑子记吧。

  • 存在的asp文件却提示404

    前段时间有一客户要把之前的asp网站搬家,2003跑IIS,asp企业站有点过时的东西,现在也只有大学的课上还会搞这个吧?

    配好之后打开index.asp却提示404错误。

    搜索后发现IIS已经默认不支持ASP。开启方法:

    IIS-WEB服务扩展 -> Active Server Pages -> 允许

  • PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted

    今天在用某程序生成html文章的时候,到46%的时候页面空白了。

    首先就是查nginx的日志

    2012/11/18 22:01:02 [error] 11485#0: *66546 FastCGI sent in stderr: “PHP message: PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in ….

    网上一查,才发现设定的值偏小了,到php.ini查找,466行处

    memory_limit = 128M

    改为256M后,重新生成html,没有问题了。

    昨天刚学了vim的一个技巧:将光标定位在128上,按住ctrl+a,数字变大,这次正好用上了。(数字减小,按ctrl+x)

    另一种方法是修改程序,不建议这样操作。

    具体说明在:http://www.php.net/manual/en/ini.core.php#ini.memory-limit

    要设置不限制,则值为-1

     

  • vim光标移动

    将光标移到指定列,输入 数字+| ,例如 77|

    向右移动指定数量字符,输入 数字+l(小写L) ,例如 5l
    向左移动指定数量字符,输入 数字+h(小写H) ,例如 8h

    移动光标到上一个单词首字母,输入 b
    移动光标到下一个单词首字母,输入 w

    移动光标到行首,按0
    移动光标到行尾,按$

    移动光标到指定行行首,例如12行行首:12G 或 :12回车
    首行行首:gg
    最后一行行首:G

    向下移两行: 2+或2j
    向上移两行: 2-或2k

    移动到上一句:)
    移动到下一句:(

    移动到上一段:{
    移动到下一段:}

    在(),{},[],<>中移动光标,当光标在上述四种之内时,按%跳到开始,再按%跳到结尾。在编辑配置文件的时候非常有用。

    在屏幕中移动光标:
    移动到屏幕的最上端:H
    移动到距屏幕最上x行: xH
    移动到屏幕中央:M
    移动到屏幕底部:L
    移动到距屏幕底部x行:xL

    向下(前)滚动:ctrl + f
    向上(回)滚动:ctrl + b

    滚动到下一屏的中央: ctrl + d
    滚动到上一屏的中央: ctrl + u

    移动光标到屏幕中央(并把当前行带到屏中央,与M略有不同),小写字符:zz
    将当前行置于屏幕顶端 zt
    将当前行置于屏幕底端 zb

    行不动,整个文档向上移 ctrl + e
    整个文档向下移 ctrl + y

  • 换到500块租的房子里

    公司搬家我也要跟着搬

    之前写了一个租房需求,根据当前个人的情况来

    公交方便(能有到地铁)
    洗衣机
    做饭
    宽带
    安静
    安全
    锻炼

    现在租在南理工附近,上面需要的都有,人无远虑,必有近忧,把自已的路走踏实了,以更多付出换回更多回报。想想去年自己在做什么,今年有这样的困难也是事情发展情况之中的。

    还有一点要提醒自已,拥有的东西一定要保持简洁,否则搬家要麻烦死。

    OK,看看明年能不能过上吃喝不用担心的程度