全部博文(140)
分类: Python/Ruby
2014-02-21 21:39:07
通过这个练习,来看一些细节问题。
#! /usr/bin/env python3
#程序中空格的使用
# Copy one file's atime and mtime to another #介绍脚本的作用
import sys
import os
from stat import ST_ATIME, ST_MTIME # Really constants 7 and 8
def main():
if len(sys.argv) != 3:
sys.stderr.write('usage: copytime source destination\n') #向标准错误输出写数据,那么控制向标准输出的函数有哪些?
sys.exit(2) #异常退出使用sys.exit函数
file1, file2 = sys.argv[1], sys.argv[2]
try:
stat1 = os.stat(file1)
except os.error: #注意是:os.error,Python的异常处理机制是什么?
sys.stderr.write(file1 + ': cannot stat\n')
sys.exit(1)
try:
os.utime(file2, (stat1[ST_ATIME], stat1[ST_MTIME]))
except os.error:
sys.stderr.write(file2 + ': cannot change time\n')
sys.exit(2)
if __name__ == '__main__':
main()
>>> import sysPython的异常处理机制:
>>> sys.stdout
', mode 'w' at 0xb72b3078> >>> sys.stdin
', mode 'r' at 0xb72b3020>
>>>help(sys.stdout)
本以为sys.stdout是一个文件呢,原来又忘了一切皆对象的原则。所以file对象的fulsh操作就找到了。
《python参考手册》有关于输入输出的介绍,这两部分内容应该够了。