读取整个文件
# 案例:读取整个文件
# pi_digits.txt
3.1415926535
8979323846
2643383279
# file_reader.py
with open ('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)
调用open()打开文件,函数open接受一个参数:要打开文件的名称。
Python在当前执行的文件所在目录中查找指定文件。
函数open()返回一个表示文件的对象,并将这个对象存储到变量file_object中
关键字with在不再需要访问文件后将其关闭
可以调用open()和close()来打开和关闭文件,但,如果程序存在bug,文件将不能正常关闭,导致数据丢失或受损,也可能过早的关闭文件,导致无法访问
该with让python确定,只管打开文件,并在需要时使用它,Python自会在合适的时候自动将其关闭。
该输出末尾多了一个空行
因为read()到达问价末尾时返回一个空字符串,而降空字符串显示出来时就是一个空行
要删除多出来的空行,在print()语句中使用rstrip()
print(contents.rstrip())
文件路径
当读取文件.txt与.py程序文件不在同一目录下,需要提供文件路径,它让Python到系统的特定位置中查找
使用相对文件路劲来打开读取文件
其中Linux和OSX中,路径需要斜杠(/)
在Windows中使用反斜杠(\)
# 案例:
# file_find.py(程序文件)
# 程序文件所在位置与Python_work在同一目录下
with open('Python_work\pi_digits.txt') as file_object:
contents = file_object.read()
print(contents.rstrip())
# pi_digits.txt
壮志饥餐胡虏肉,笑谈渴饮匈奴血。
易水萧萧西风冷,满座衣冠似雪。
俱往矣,数风流人物,还看今朝。
想当年,金戈铁马,气吞万里如虎。
天姥连天向天横,势拔五岳掩赤城。
乱石穿空,惊涛拍岸,卷起千堆雪。
我自横刀向天笑,去留肝胆两昆仑。
君不见黄河之水天上来,奔流到海不复回。
生当作人杰,死亦为鬼雄。至今思项羽,不肯过江东。
白日放歌须纵酒,青春作伴好还乡。
长风万里送秋雁,对此可以酣高楼。
长风破浪会有时,直挂云帆济沧海。
马作的卢飞快,弓如霹雳弦惊,了却君王天下事,赢得生