[简明python教程]学习笔记2014-05-05

今天学习了python的输入输出、异常处理和python标准库

1.文件

通过创建一个file类的对象去处理文件,方法有read、readline、write、close等

[[email protected] 0505]# cat using_file.py
#!/usr/bin/python
#filename:using_file.py
poem=‘‘‘Programing is fun
when the work is done
use Python!
‘‘‘
f=file(‘poem.txt‘,‘w‘)#open for writng
f.write(poem)#write text to file
f.close()#close the file
f=file(‘poem.txt‘)
#default is read
while True:
        line=f.readline()
        if len(line)==0:
                break
        print line,
f.close()
[[email protected] 0505]# ./using_file.py
Programing is fun
when the work is done
use Python!

2.储存器

Python提供一个标准的模块,称为pickle。使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为 持久地 储存对象。

[[email protected] 0505]# cat picking.py
#!/usr/bin/python
#filename:picking.py
import cPickle as p
shoplistfile=‘shoplist.data‘
#the name of the file where we will store the object
shoplist=[‘apple‘,‘mango‘,‘carrot‘]
#write to the file
f=file(shoplistfile,‘w‘)
p.dump(shoplist,f)#dump the object to a file
f.close()
del shoplist #remove the shoplist
#read back from the storage
f=file(shoplistfile)
storedlist=p.load(f)
print storedlist
[[email protected] 0505]# ./picking.py
[‘apple‘, ‘mango‘, ‘carrot‘]

3.try...except

[[email protected] 0505]# cat try_except.py
#!/usr/bin/python
#filename:try_except.py
import sys
try:
        s=raw_input(‘enter:‘)
except EOFError:
        print ‘\nwhy did u do an EOF on me?‘
        sys.exit()#exit the program
except:
        print ‘\nsome error/exception occurred‘
print ‘done‘
[[email protected] 0505]# ./try_except.py
enter:^C
some error/exception occurred
done
[[email protected] 0505]# ./try_except.py
enter:
why did u do an EOF on me?
[[email protected] 0505]#

4.try...finally

假如你在读一个文件的时候,希望在无论异常发生与否的情况下都关闭文件,该怎么做呢?这可以使用finally块来完成。注意,在一个try块下,你可以同时使用except从句和finally块。如果你要同时使用它们的话,需要把一个嵌入另外一个。

[[email protected] 0505]# cat finally.py
#!/usr/bin/python
#filename:finally.py
import time
try:
        f=file(‘poem.txt‘)
        while True:
                line=f.readline()
                if len(line)==0:
                        break
                time.sleep(2)
                print line,
finally:
        f.close()
        print ‘cleaning up...close the file‘
[[email protected] 0505]# ./finally.py
Programing is fun
when the work is done
^Ccleaning up...close the file
Traceback (most recent call last):
  File "./finally.py", line 11, in <module>
    time.sleep(2)
KeyboardInterrupt
[[email protected] 0505]#

5.sys模块

[[email protected] 0505]# cat cat.py
#!/usr/bin/python
#filename:cat.py
import sys
def readfile(filename):
        f=file(filename)
        while True:
                line=f.readline()
                if len(line)==0:
                        break
                print line,
        f.close()
if len(sys.argv)<2:
        print ‘no action specified‘
        sys.exit()
if sys.argv[1].startswith(‘--‘):
        option=sys.argv[1][2:]
        if option==‘version‘:
                print ‘version 1.2‘
        elif option==‘help‘:
                print ‘‘‘--version:print version\n--help:help me‘‘‘
        else:
                print ‘unknown option‘
        sys.exit()
else:
        for filename in sys.argv[1:]:
                readfile(filename)
[[email protected] 0505]# ./cat.py
no action specified
[[email protected] 0505]# ./cat.py --help
--version:print version
--help:help me
[[email protected] 0505]# ./cat.py --a
unknown option
[[email protected] 0505]#

知识补充:

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径;比如在CMD命令行输入 “python  test.py -help”,那么sys.argv[0]就代表“test.py”。sys.startswith() 是用来判断一个对象是以什么开头的,比如在python命令行输入“‘abc‘.startswith(‘ab‘)”就会返回Truesys.argv[1][2:]表示从第二个参数,从第三个字符开始截取到最后结尾

6.os模块

下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。

●     os.name字符串指示你正在使用的平台。比如对于Windows,它是‘nt‘,而对于Linux/Unix用户,它是‘posix‘。

●     os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。

●     os.getenv()和os.putenv()函数分别用来读取和设置环境变量。

●     os.listdir()返回指定目录下的所有文件和目录名。

●     os.remove()函数用来删除一个文件。

●     os.system()函数用来运行shell命令。

●     os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用‘\r\n‘,Linux使用‘\n‘而Mac使用‘\r‘。

●     os.path.split()函数返回一个路径的目录名和文件名。>>> os.path.split(‘/home/swaroop/byte/code/poem.txt‘)(‘/home/swaroop/byte/code‘, ‘poem.txt‘)

●     os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.exists()函数用来检验给出的路径是否真地存在。

[简明python教程]学习笔记2014-05-05,布布扣,bubuko.com

时间: 2024-10-22 16:36:00

[简明python教程]学习笔记2014-05-05的相关文章

[简明python教程]学习笔记之编写简单备份脚本

[[email protected] 0503]# cat backup_ver3.py #!/usr/bin/python #filename:backup_ver3.py import os import time #source source=['/root/a.sh','/root/b.sh','/root/c.sh'] #source='/root/c.sh' #backup dir target_dir='/tmp/' today=target_dir+time.strftime('

简明Python教程学习笔记1

1.介绍 略 2.安装Python 略 3.最初的步骤 (1)获取帮助help() help()的使用帮助 1 >>> help("help") 2 3 Welcome to Python 2.7! This is the online help utility. 4 5 If this is your first time using Python, you should definitely check out 6 the tutorial on the Inte

简明python教程学习笔记

参考(Reference) 不知道为什么没有翻译成引用. shoplist = ['apple', 'mango', 'carrot', 'banana']mylist = shoplist  这样写的话,mylist和shoplist指向同样的内存空间.那如果想要完全拷贝一份而不是引用shoplist应该怎么写呢? mylist = shoplist[:] 完整例子 切片(Slice) 昨天突然注意到切片的前后顺序.试了下,如果是[3:2]这样的范围的话,便输出一个空列表.当然[2:-1]这样

oracle__学习笔记2014.09.05

oracle学习笔记2014.09.05 测试数据库配置的信息 全局数据库名:xiuhao 系统标识符(SID):xiuhao 服务器参数文件名:c:\oracle\dbs\spfilexiuhao.ora database control URL: http://C-1:5500/em sys以及system解锁 edit 以文本格式打开当前命令/ / 执行当前命令 l [num] 显示缓存区命令 get [file] 把file中的文件加入到缓冲区 c /[str] /[str] 修改当前语

《简明 Python 教程》笔记

<简明 Python 教程>笔记 原版:http://python.swaroopch.com/ 中译版:https://bop.mol.uno/ 有 int.float 没 long.double.没 char,string 不可变. help 函数 如果你有一行非常长的代码,你可以通过使用反斜杠将其拆分成多个物理行.这被称作显式行连接(Explicit Line Joining)5: s = 'This is a string. \ This continues the string.'

简明Ptyhon教程学习笔记一

我们为什么要学Python? 简单:简单是最美的东西.Python就是一种简单的语言,Python可以使你专注于解决问题而不是去搞明白语言本身. 免费.开源:Python是开源产物,既不需要你购买他,也不需要你花钱去学习(它的简单足以让你自己就可以搞定). 高级语言:相比于C.C++这样的"高级语言",Python实在是太容易了,你不需要去考虑任何底层操作,只需要注重于你要完成的具体的功能. 可移植型:Python的高级特性让其代码并不依赖于平台,它不需要编译,只要你的平台有解释器,那

简明 Python 教程--学习记录

注意,没有返回值的return语句等价于return None.None是Python中表示没有任何东西的特殊类型.例如,如果一个变量的值为None,可以表示它没有值.除非你提供你自己的return语句,每个函数都在结尾暗含有return None语句.通过运行printsomeFunction(),你可以明白这一点,函数someFunction没有使用return语句,如同:def someFunction():passpass语句在Python中表示一个空的语句块. 切片操作符中的第一个数(

简明python教程读书笔记(二)之为重要文件备份

一.可行性分析: 一般从经济.技术.社会.人四个方向分析. 二.需求分析: 需求分析就是需要实现哪些功能,这个很明了-文件备份 几个问题: 我们的备份位置? 什么时间备份? 备份哪些文件? 怎么样存储备份(文件类型)? 备份文件的名称?(需要通俗明了,一般是以当前时间命名) 三.实施过程: 方案一: #!/usr/lib/env python import osimport timebacklist=['/etc','/root']to='/mnt/' target=to+time.strfti

简明Python教程 读书笔记一

Python特性:解释性编程语言解释性——Python语言写的程序不需要编译成二进制代码.Python解释器把源代码转换成称为字节码的中间形式,然后再翻译成机器语言.面向对象——Python即支持面向过程的编程也支持面向对象的编程.在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的.在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的. 最初的步骤:有两种使用Python运行你的程序方式——使用交互式的带提示符的解释器或者使用源文件 退出python提示符——按Ctrl