python学习笔记_day4(ex15-21:文件 函数)

小结 ex15-21:文件操作方法(打开,读写,关闭)、函数 、返回值

ex15:读取文件
先了解一下函数和方法的区别:
函数:是封装了一些独立的功能,可以直接调用,python内置了许多函数,同时可以自建函数来使用。
方法:和函数类似,同样封装了独立的功能,但是方法是需要通过对象来调用的,表示针对这个对象要做的操作,使用时采用点方法

读取文件内容放到ex16一起

ex16:读写文件
知识点:open,close,read,readline,truncate,write(stuff)

# -- coding:utf-8 --

# 【知识点1】:open,close,read,readline,truncate,write(stuff)
# 【知识点2】:open 打开文件,通过参数来指定操作的模式。w表示文件存在时覆盖性写入,不存在时创建写入
# 参考:http://www.runoob.com/python/python-func-open.html

from sys import argv
script,filename = argv

print("We're going to erase %r." % filename)
input("开始....")
target = open(filename,'w')
# 【优化1】:open w模式是覆盖性写入。下面这句冗余,注释掉
# target.truncate()

line1 = input("line 1: ")
line2 = input("line 2: ")
line3 = input("line 3: ")
"""
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
"""
# 【优化2】:上面6行重复,用下面这一句来简化代码(字符串 格式化字符 转义字符)
target.write("%s\n %s\n %s\n" %(line1,line2,line3))
target.close()
print("结束...")

ex17:更多文件操作
exists,首次接触。这个命令将文件名字符串作为参数,返回值是布尔类型

#以下是例子:
#引入模组 解包
from os.path import exists
script,to_file = argv
print("Does it exist? %r"  % exists(to_file))

例:文件拷贝

# -- coding:utf-8 --
from sys import argv
from os.path import exists
script,from_file,to_file = argv

print(exists(to_file))

#【优化】:从源文件中读取内容,写入到已经打开的目标文件中去
output = open(to_file,'w').write(open(from_file).read())

ex18:命名、变量、代码、函数
例:

"""
语法:
def 函数名(参数) 冒号 
函数体缩进(4 个空格的缩进),函数结束位置取消缩进
参数名不能重复
"""
# 可变参数(可传元组参数)
def print_two(*args):
    arg1,arg2 = args
    print("arg1: %r,arg2: %r" %(arg1,arg2))

def print_two_again(arg1,arg2):
    print("arg1: %r,arg2:%r" %(arg1,arg2))

ex19: 函数和变量 (练习 略)

ex20:函数和文件

  1. 调用函数时,参数传文件,函数里是文件的处理操作。其中, seek()首次接触。 参考:http://www.runoob.com/python/file-seek.html
  2. += 操作符的用法

ex21:函数可以返回东西
return

猜你喜欢

转载自blog.csdn.net/xingxing_sun/article/details/87876496
今日推荐