Python中的文件操作以及输入输出
我们可以分别使用raw_input和print语句来完成这些功能。对于输出,你也可以使用多种多样的str(字符串)类。例如,你能够使用rjust方法来得到一个按一定宽度右对齐的字符串。利用help(str)获得更多详情。
另一个常用的输入/输出类型是处理文件。创建、读和写文件的能力是许多程序所必需的,我们将会在这章探索如何实现这些功能。
一.使用文件
你可以通过创建一个file类的对象来打开一个文件,分别使用file类的read、readline或write方法来恰当地读写文件。对文件的读写能力依赖于你在打开文件时指定的模式。最后,当你完成对文件的操作的时候,你调用close方法来告诉Python我们完成了对文件的使用,在各方面,与C/C++类似。
#!/usr/bin/python
# Filename: using_file.py
poem = '''\
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
'''
f = file('poem.txt', 'w') # open for 'w'riting
f.write(poem) # write text to file
f.close() # close the file
f = file('poem.txt')
# if no mode is specified, 'r'ead mode is assumed by default
while ......
Python中的异常
当你的程序中出现某些异常的状况的时候,异常就发生了。
一.处理异常
我们可以使用try..except语句来处理异常。我们把通常的语句放在try-块中,而把我们的错误处理语句放在except-块中。
例如:
#!/usr/bin/python
# Filename: try_except.py
import sys
try:
s = raw_input('Enter something --> ')
except EOFError:
print '\nWhy did you do an EOF on me?'
sys.exit() # exit the program
except:
print '\nSome error/exception occurred.'
# here, we are not exiting the program
print 'Done'
输出为:
$ python try_except.py
Enter something -->
Why did you do an EOF on me?
$ python try_except.py
Enter something --> Python is exceptional!
Done
二.引发异常
你可以使用raise语句引发异常。你还得指明错误/异常的名称和伴随异常触发的异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。
例如:
#!/usr/bin/python
# Filename: raising.py
class ShortInputException(Exception):
'''A user-defined exception cla ......
我一直在用ultraedit看zope3的源代码.语法高亮设置可参考www.ultraedit.com
UltraEdit是一个很好的工具,但是默认不支持Python的语法高亮,下面是一个现成的WordFile片断,把这段文字Copy到UltraEdit下面的WORDFIL E.TXT文件中,保存后就可以看到UltraEdit对Python文件和语法的支持了^_^(注意,把/L11改为你的Wordfile的片断值)
具体步骤
1 打开菜单Advanced→Configration...,系统弹出一个窗口,
2 单击Syntax Highlighting标签,其中Full Path Name For下面的文件即为语法突出显示配置文件,
3 单击Open,即可在UltraEdit中打开该文件(wordfile.txt),将上文列出的PL/SQL语法配置脚本拷贝到该文件的最后面,
4 同时修改语法配置脚本文件的第一行,如果当前系统语法突出显示配置文件的最后一个为/L9,则将目前加入的Python修改为/L15,保存该文件。
/L11"Python" Line Comment = # Escape Char = \ File Extensions = PY PYW
/Indent Strings = ":"
/Function String 1 = "%[ ,^t]++def[ ]+^([a-zA-Z0-9_]+*^):"
/Function String 2 = "%[ ,^t]++^(class[ ]+[a-zA-Z0-9_]+*^):"
/Delimiters = []{}()<>="'.,:+
/C1"Reserved Words"
a ......
Let's python 系列视频对应学习笔记, 笔记是我自己学习过程中的记录, 里面有很多讲的不清楚的地方, 很多都是只能我自己看懂的, 关于笔记, 我会和视频同步发布.
顺便提下个人观点: 笔记只能帮助我们重新温习一遍刚才学过的内容, 有人说笔记可以在未来用于查询, 我倒是觉得API文档更详尽, 更准确. 真正理解了思想之后, 笔记或许整年都用不上一次.
基本配置及基础语法(1, 2章)
1 Python.exe 的解释器options:
1.1 –d 提供调试输出
1.2 –O 生成优化的字节码(生成.pyo文件)
1.3 –S 不导入site模块以在启动时查找python路径
1.4 –v 冗余输出(导入语句详细追踪)
1.5 –m mod 将一个模块以脚本形式运行
1.6 –Q opt 除法选项(参阅文档)
1.7 –c cmd 运行以命令行字符串心事提交的python脚本
1.8 file 以给定的文件运行python脚本
2 _在解释器中表示最后一个表达式的值.
3 print支持类c的printf格式化输出: print “%s is number %d!” % (“python”, 1)
4 print的输入内容后面加逗号, 就会使其输入不换行
5 把输出重定向到日志文件:
log ......
EditPlus编辑器环境的配置
Python也可以使用编辑器进行开发。例如,文本编辑软件EditPlus也能成为Python的编辑、执行环境,甚至可以用于调试程序。EditPlus具备语法加亮、代码自动缩进等功能。本节介绍一下如何配置EditPlus编辑器的开发环境。
1.添加Python群组
首先启动EditPlus,然后单击【工具】|【配置用户工具】命令,打开【参数】对话框。在【参数】对话框中单击【添加工具】按钮,在弹出的菜单中选择【程序】命令。新建的群组名称命名为“Python”,分别在【菜单文本】文本框中输入“python”,在【命令】文本框中输入Python的安装路径,在【参数】文本框中输入“$(FileName)”,在【起始目录】文本框中输入“$(FileDir) ”。勾选【捕获输出】选项,Python程序运行后的输出结果将显示在Edit Plus的输出栏中,否则,运行Python程序后将弹出命令行窗口,并把结果输出到命令行中。
设置完成后的对话框如图1-10所示。单击【确定】按钮,新建一个Python文件,【工具】菜单下将会出现【python】选项。单击【python】选项或按快捷键Ctrl+1,就可以运行Python程序。
2.设置Python高亮和自动完成
EditPlus不仅可以作为P ......
def login():
print 'login'
def logout():
print 'logout'
controllers = {
'in': login, ##(类似c中的:使用函数入口地址作为字典的值)
'out':logout,
}
def dispatcher(url, controllers):
func = controllers.get(url, None) ##(类似c中的:将函数入口指针赋给func)
if func:
func() ##( ......
def login():
print 'login'
def logout():
print 'logout'
controllers = {
'in': login, ##(类似c中的:使用函数入口地址作为字典的值)
'out':logout,
}
def dispatcher(url, controllers):
func = controllers.get(url, None) ##(类似c中的:将函数入口指针赋给func)
if func:
func() ##( ......