12.15---python文件读取

发布时间 2023-12-15 17:02:00作者: 握嫩
with open('pi_digits.txt')as file:
    contents = file.read()
print(contents.strip())

要想访问文件内容需要先打开它才能访问,函数open()接受一个参数:要打开文件的名称。在当前执行文件的目录中查找 文件名。代码中,open('E:/python/文件和异常/pi_digits.txt')返回一个表示文件pi_digits.txt的对象,python将该对象赋给file_object。有了表示pi_digits.txt的文件对象后,使用方法read()读取这个文件的全部内容。并将其赋给变量contents,通过打印contents的值,就可将文本文件的内容显示出来。而对于读取文件生成的空白可以使用strip()删除字符末尾的空白。————read() 每次读取整个文件,它通常将读取到底文件内容放到一个字符串变量中,也就是说 .read() 生成文件内容是一个字符串类型。

关键词with在不再需要访问文件后将其关闭

 

with open('E:/python/文件和异常/pi_digits.txt')as file:
    contents = file.read()
print(contents.strip())

 有时需要打开不在程序文件所属目录中的文件,假设你把文件放入了别的文件夹下你想要打开这个文件的话就需要提供文件的完整路径,称为绝对文件路径。所谓绝对文件路径就是完整的路径

filname = 'pi_digits.txt'

with open(filname) as file_object:
    lines = file_object.readlines()
    
for line in lines:
    print(line.rstrip()

# readline()每只读取文件的一行,通常也是读取到的一行内容放到一个字符串变量中,返回str类型

readlines()每只读取文件的一行,将读取到的内容当到一个列表中,返回list类型————readlines用于一次性逐行读取特定的文件,适合小文件,包含的数据较少,可以在更短的时间内轻松读取整个文件,它首先一次性将文件内容读入内存,然后将它分成不同的行,借助strip()函数可以剥离换行符'\n'字符

该列表被赋给变量lines。在with代码块外依然可以使用这个变量。使用一个for循环来打印lines中的各行。因为列表的lines的每个元素都对应于文件中的一行,所以输出与文件内容完全一致。

读取文本时,python将其中的所有文本都解读为字符串。如果读取的是数,并要将其作为数使用,就必须使用函数int()将其转换或使用函数float()将其转换为浮点数。同样如果要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式。

filname = 'pi_million_digits.txt'

with open(filname) as file_object:
    lines = file_object.readlines()
    
pi_string = ''
for line in lines:
    pi_string += line.rstrip()
    
birthday = input("Enter your birthday, in the form mmddyy: ")
if birthday in pi_string:
    print("你的生日出现在圆周率的第一个百万位数中!")
else:
    print("你的生日不会出现在圆周率的前百万位数中")

这个代码可以测测你的生日是否在圆周率的前百万位中