用python读取文件内容,python向文件写入数据

  用python读取文件内容,python向文件写入数据

  

  从文件中读取数据

  1. 读取整个文件

  要读取文件,首先创建一个文件:

  然后打开并阅读该文件,然后在屏幕上显示其内容:

  file_reader.py

  with open( pi _ digits . txt )as file _ object :

  内容=file_object.read()

  打印(内容)以解释上述代码:

  open()-要以任何方式使用文件,您必须首先打开该文件以便可以访问它。这时就需要使用函数open(),它只带一个参数:要打开的文件的名称,返回代表文件的对象。

  当不再需要访问文件时,调用close()关闭文件。

  Read()-读取文件中的所有内容。

  运行结果:

  3.1415926535

  8979323946

  26433832782. 文件路径

  要让python打开一个与程序文件不在同一个目录下的文件,需要提供一个文件路径,让python到系统中的特定位置去找。

  文件路径的表示形式:

  1.相对路径-文件相对于当前运行的程序所在的目录。例如:在程序所在的文件夹c : \ Users \ YXF \ Desktop \ Python _ py charm中新建一个文件夹text_file,用来存放pi_digits.txt文件,此时需要编写这样的代码:

  不打开( text _ files \ pi _ digits.txt )作为file _ object33602。绝对文件路径-文件所在的完整路径。绝对路径比相对路径长,所以可以将路径存储在一个变量中,然后将该变量传递给open():

  file _ path=r c : \ Users \ yxf \ Desktop \ python _ py charm \ text _ files \ pi _ digits . txt

  没有open(file _ path)As file _ object :由于文件路径中使用了反斜杠,在python中被视为转义字符,所以需要在开头的单引号前加R。

  相关:《Python视频教程》

  3. 逐行读取

  一次检查文件:的一行

  file_name=pi_digits.txt

  withopen(文件名)asfile_object:

  forlineinfile_object:

  运行结果打印(第行):

  3.1415926535

  8979323946

  243383278通过对file对象使用for循环来遍历文件中的每一行,但是运行结果显示的每一行后面都有更多的空行。为什么?文件中每一行的末尾都有一个不可见的换行符,并且在print语句中添加了一个换行符。要消除这些空行,可以在print语句中使用rstrip():

  print(line.rstrip())

  以便输出与文件内容完全相同。

  4. 创建一个包含文件各行内容的列表

  file_name=pi_digits.txt

  打开

  (file_name)asfile_object:

  lines=file_object.readlines()

  forlineinlines:

  print(line.rstrip())方法readlines():从文件中读取每一行,并将其存储在列表中。

  5. 使用文件的内容

  

file_name='pi_digits.txt'

  withopen(file_name)asfile_object:

  lines=file_object.readlines()#将文件内容存储在列表中

  pi_string=''#新建一个空字符串

  forlineinlines:

  pi_string=pi_string+line.rstrip()#删除空白行并转换为字符串

  print(pi_string)#打印字符串

  print(len(pi_string))#打印字符串长度

运行结果:

  

3.141592653589793239462643383278

  36

运行结果中包含了位于每行左边的空格,为删除这些空格,可使用 strip() 而不是 rstrip(),运行可得:

  

3.141592653589793239462643383278

  32

6. 包含一百万位的大型数据

  一百万位的文件下载过慢,就复制使用了其中的一小部分,并打印到小数点后的50位:

  

file_name='pi_xx_digits.txt'

  withopen(file_name)asfile_object:

  lines=file_object.readlines()#将文件内容存储在列表中

  pi_string=''#新建一个空字符串

  forlineinlines:

  pi_string=pi_string+line.strip()#删除空白行并转换为字符串

  print(pi_string[:52])#打印字符串

  print(len(pi_string))#打印字符串长度

运行结果:

  

3.14159265358979323846264338327950288419716939937510

  1483

由运行结果可知保存了小数点后的1481位在文件 pi_xx_digits.txt 中。

  7. 圆周率中包含你的生日吗

  可以检测圆周率值的前1483位中是否包含自己的生日:

  

file_name='pi_xx_digits.txt'

  withopen(file_name)asfile_object:

  lines=file_object.readlines()

  pi_string=''

  forlineinlines:

  pi_string=pi_string+line.strip()

  birthday=input('Enteryourbirthday,intheformmmddyy:')

  ifbirthdayinpi_string:

  print('Yourbirthdayappearsinthefirst1483digitsofpi!')

  else:

  print('Yourbirthdaydoesnotappearsinthefirst1483digitsofpi.')

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: