赞
踩
不同的数据类型进行深拷贝或浅拷贝时的结果会有所区别。
深拷贝,拷贝的程度深,自己新开辟了一块内存,将被拷贝内容全部拷贝过来了;
浅拷贝,拷贝的程度浅,只拷贝原数据的首地址,然后通过原数据的首地址,去获取内容。
在Python中,参数的传递是根据数据类型分为可变类型和不可变类型的。
比如参数采用列表形式,就可被改变,而采用元祖,就可不被修改。
提取超过列表长度的值会报IndexError的错误,而提取字典中不存在的键会报KeyError的错误,还有对0进行除或取模会报ZeroDivisionError错误,浮点操作失败时会报FloatingPointError错误,这些因为数据类型报错的都需要进行异常保护。
方法一:python内置函数
方法二:Pandas 库
file = open('filename.txt', mode = 'r')
file.close()
意:根据指定文件名或标识符来打开文件,获取到的 file 是一个文件对象。
模打开式 | 描述 |
---|---|
‘r’ | 「只读」;文件不存在会报错;默认指针指向文件开头 |
‘w’ | 「只写」;文件不存在,则根据 filename 创建相应的文件;文件已存在,则会覆盖原文件 |
‘a’ | 「追加」;文件已存在,文件指针指向文件尾部,将内容追加在原文件后面;如果文件不存在,则新建文件写入 |
‘t’ | 以「文本文件」模式打开文件 |
‘b’ | 以「二进制」模式打开文件,主要用于打开图片、音频等非文本文件 |
‘+’ | 打开文件并允许更新(可读可写);即使用参数 r+、w+、a+ 都可以读写文件 |
区别:r+ 不存在会报错; w+ 不存在会新建;a+ 追加写入 |
file = open('filename.txt', 'r')
num = 1
for con in file: # 循环
print('第%d行' % num, con)
num += 1
file.close()
改良,使用read方法
file = open('filename.txt', 'r')
con = file.read() # 将整个文件读取出来
print(con)
file.close()
con = file.read(size) #
size表示要从文件中读取的数据的长度,单位为字节。如果没有指定size,那么就表示读取文件的全部数据。
一行一行地读取文件中的数据
file = open('filename.txt', 'r')
con = file.readline()
print("1:%s"%content)
content = file.readline()
print("2:%s"%content)
file.close()
读取所有行的信息。
readlines() 和 read() 的区别,在于读取的「颗粒大小」,前者颗粒较大以行为单位,后者颗粒较小以字节为单位。
file = open('filename.txt', 'r')
con = file.readlines()
print(con)
hello.close()
readlines方法会返回一个列表,列表中的每一个元素为文件中的每一行数据。
读写文件的时候,经常会出现一些 IOError 错误异常,建议写在 try…finally… 异常捕获块中。
try:
file = open('filename.txt', 'r')
con = file.readlines()
print(con)
finally:
print('出问题了')
hello.close()
凡是打开的文件,切记要使用close方法关闭。即使文件会在程序退出后自动关闭,但是考虑到数据的安全性,在每次使用完文件后,都要使用close方法关闭文件,否则一旦程序崩溃,很可能导致文件中的数据没有保存。
with…as… 语句,会在你访问完文件之后,根据上下文自动调用 close() 方法来关闭。
with open('filename.txt', 'r') as file: # 等同于 file = open('filename.txt', 'r') + file.close()
con = file.readlines()
print(con)
with open('hello.txt') as hello :
hello.write("I Love You")
默认指定‘w’ 模式。
txtlist = ['Python 私教\n', 'Java 私教\n', 'C++ 私教\n'] # 创建一个列表
with open('hello.txt') as hello :
hello.writelines(txtlist)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。