第15-17章文件读写,使用open,read,write,close函数,下面摘录原文的程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #! /usr/bin/env python #coding=utf-8 from sys import argv from os.path import exists script, from_file, to_file = argv #argv类似c main(int arg,char× argv)命令行参数 print "Copying from %s to %s" % (from_file, to_file) in_file = open (from_file) #打开文件 indata = in_file.read() #读文件 print "The input file is %d bytes long" % len (indata) #实际是string的长度 print "Does the output file exist? %r" % exists(to_file) #判断路径存在性 print "Ready, hit RETURN to continue, CTRL-C to abort." raw_input () out_file = open (to_file, 'w' ) out_file.write(indata) print "Alright, all done." out_file.close() in_file.close() |
第18-26变量,函数。之前都是调用库函数,现在学习自己写函数。函数以def 开始,形如下:
可见python的函数返回还是比c语言容易。
def print_one(arg1): #注意冒号换行后是四个空格,在专用的python里用tab键实际是自动替换了 print "arg1: %r" % arg1 #以下凡是以四个空格缩进的内容都是属于该函数 print "arg1: %r" % arg1 print "hello" #新的开始 def add(a, b): #带返回值的函数 print "ADDING %d + %d" % (a, b) return a + b def mutireturn(a,b) return a,b def multireturn(a,b): #python支持多返回值 return a,b a,b = multireturn( 1 , 2 ) #注意返回值的数目和你接收的变量数目相等 print "a=%r,b=%r" % (a,b) def multireturn2(a,b): return a,b, 3 a,b = multireturn2( 1 , 2 ) #此处数目不等返回ValueError: too many values to unpack print "a=%r,b=%r" % (a,b) |