文件读取:

pi_digits.txt

3.1415926535
 8979323846
    2643383279

file_reader.py

with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)

在这个程序中,第1行代码做了大量的工作。我们先来看看函数 open() 。要以任何方式使用文件——哪怕仅仅是打印其内容,都得先打开文件,这样才能访问它。函数 open() 接受一个参数:要打开的文件的名称。Python在当前执行的文件所在的目录中查找指定的文件。在这个示例中,当前运行的是file_reader.py,因此Python在file_reader.py所在的目录中查找pi_digits.txt。函数 open()返回一个表示文件的对象。在这里, open('pi_digits.txt') 返回一个表示文件 pi_digits.txt 的对象;Python将这个对象存储在我们将在后面使用的变量中。

关键字 with 在不再需要访问文件后将其关闭。在这个程序中,注意到我们调用了 open() ,但没有调用 close() ;你也可以调用 open() 和 close() 来打开和关闭文件,但这样做时,如果程序存在bug,导致 close() 语句未执行,文件将不会关闭。这看似微不足道,但未妥善地关闭文件可能会导致数据丢失或受损。如果在程序中过早地调用 close() ,你会发现需要使用文件时它已关闭(无法访问),这会导致更多的错误。并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过使用前面所示的结构,可让Python去确定:你只管打开文件,并在需要时使用它,Python自会在合适的时候自动将其关闭。有了表示 pi_digits.txt 的文件对象后,我们使用方法 read() (前述程序的第2行)读取这个文件的全部内容,并将其作为一个长长的字符串存储在变量 contents 中。这样,通过打印 contents的值,就可将这个文本文件的全部内容显示出来。

文件绝对路径示例:

file_path = 'C:\\Users\\zhangchengming\\Desktop\\test.txt'

逐行读取文件:

filename = 'pi_digits.txt'
with open(filename) as file_object:
for line in file_object:
print(line)

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

filename = 'pi_digits.txt'
with open(filename) as file_object:
lines = file_object.readlines()
for line in lines:
print(line.rstrip())

写入文件:

write_message.py

filename = 'programming.txt'
with open(filename, 'w') as file_object:
file_object.write("I love programming.")

在这个示例中,调用 open() 时提供了两个实参。第一个实参也是要打开的文件的名称;第二个实参( 'w' )告诉Python,我们要以写入模式打开这个文件。打开文件时,可指定读取模式( 'r' )、写入模式( 'w' )、附加模式( 'a' )或让你能够读取和写入文件的模式( 'r+' )。如果你省略了模式实参,Python将以默认的只读模式打开文件。
       如果你要写入的文件不存在,函数 open() 将自动创建它。然而,以写入( 'w' )模式打开文件时千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件。我们使用文件对象的方法 write() 将一个字符串写入文件。这个程序没有终端输出,但如果你打开文件programming.txt,将看到其中包含如下一行内容:
programming.txt

I love programming.

追加到文件:

filename = 'programming.txt'
with open(filename, 'a') as file_object:
file_object.write("I also love finding meaning in large datasets.\n")
file_object.write("I love creating apps that can run in a browser.\n")yichang

异常:

file_path = 'C:\\Users\\zhangchengming\\Desktop\\test.txt'
try:
with open(file_path) as file_object:
contents = file_object.read()
except FileNotFoundError:
pass
else:
print(contents.rstrip())

json.dump() 和 json.load() 存储数据:

import json

username = input("What is your name? ")
filename = 'username.json'
with open(filename, 'w') as f_obj:
json.dump(username, f_obj)
print("We'll remember you when you come back, " + username + "!")

最新文章

  1. jquery.cookie.js 操作cookie实现记住密码功能的实现代码
  2. [转载]再谈百度:KPI、无人机,以及一个必须给父母看的案例
  3. Html5应用程序缓存ApplicationCache
  4. js DOM Node类型
  5. 主线程MainThread与渲染线程RenderThread
  6. 安卓Design包之NavigationView结合DrawerLayout,toolbar的使用,FloatingActionButton
  7. 如何做程序猿SOHO它定购家庭赚外快?
  8. jni中的参数含义
  9. 【重学计算机】机组D5章:指令系统
  10. [Swift]LeetCode677. 键值映射 | Map Sum Pairs
  11. python raise
  12. 2018 CCPC-FINAL 后记
  13. KO的使用例子
  14. 洛谷P3628 [APIO2010]特别行动队(动态规划,斜率优化,单调队列)
  15. JavaScript各种继承方式(五):寄生式继承(parasitic)
  16. ASP.NET的MVC中Model对象字段的数…
  17. linux&android PPP 相关知识
  18. 用JAVA制作微型操作系统4月23日情况
  19. 如何在Windows环境下安装Linux系统虚拟机
  20. Python网络管理模块Paramiko-代码实例

热门文章

  1. 整合Solr与tomcat以及第一个core的配置
  2. windows 开启热点的命令行工具
  3. MySQL主从复制介绍
  4. window.history.go(-1)返回且刷新页面 点击返回上一层
  5. 洛谷 P1583魔法照片 & P1051谁拿了最多奖学金 & P1093奖学金
  6. [No0000167]CPU内部组成结构及指令执行过程
  7. [No000011C]使人醒悟的生活中的定律
  8. Chap1 引言[The Linux Command Line]
  9. linux 软/硬链接详解
  10. Flink - Scheduler