文件读取
open()接受一个参数:要打开的文件名, 并返回一个表示文件的对象, 存储到后面的变量中
python会在当前执行文件所在目录查找
可以使用绝对路径, 在linux中使用'/', 在windows使用'\'
绝对路径通常较长, 建议存到一个变量中!
关键字with在不再需要访问文件(合适的时候)后自动将文件关闭

  1. pi_digits.txt
  2. 3.1415926535
  3. 8979323856
  4. 2643383279
  1. with open('pi_digits.txt') as file_object:
  2. contents = file_object.read()
  3. print(contents)
  4. #这样打印出来会多一个空行,原因在于read()在每一行末都会返回一个空字符串,将这个空字符串显示出来就是一个空行,即read()在最后一行行末遇到一个空字符串,最后多打印了一个空行
  5. print(contents.rstrip())
  1. #逐行读取
  2. filename = 'pi_digits.txt'
  3. with open(filename) as file_object:
  4. for i in file_object:
  5. print(i.rstrip())

创建一个包含文件各行内容的列表
readlines()返回一个列表,包含所有行

  1. filename = 'text_files\pi_digits.txt'
  2. with open(filename) as file_object:
  3. lines = file_object.readlines()
  4. print(type(lines))
  5. print(lines)
  6. for line in lines:
  7. print(line.rstrip())
  8. # result:
  9. # <class 'list'>
  10. # ['3.1415926535\n', ' 8979323856\n', ' 2643383279\n', ' ']
  11. # 3.1415926535
  12. # 8979323856
  13. # 2643383279
  14. #为什么列表最后有一个空格?因为readlines()读到文件末尾了

文件写入, python只能将str类型写入文本文件

  1. filename = 'programming.txt'
  2. with open(filename, 'w') as file_object:#如果没有指定第二个参数,默认为只读
  3. file_object.write("I love programming.")

write()不会在文本末尾添加换行
写入多行要用'\n'


  1. #异常处理
  2. print("Give me two numbers, and I'll divide them.")
  3. print("Enter 'q' to quit.")
  4. while True:
  5. first_number = input("\nFirst number: ")
  6. if first_number == 'q':
  7. break
  8. second_number = input("\nSecond number: ")
  9. try:
  10. answer = int(first_number) / int(second_number)
  11. except ZeroDivisionError:
  12. print("You can't divide by 0!")
  13. else:
  14. print(answer)
  15. #try-except-else代码块原理: try-except代码块后面还有其他代码, 程序将接着运行
  16. #意思就是try尝试运行, except负责处理出错, 其余情况由else负责

  1. #存储数据
  2. #json.dump()存储; json.load()读取
  3. import json
  4. numbers = [2,3,5,7,11,13]
  5. filename = 'number.json'
  6. with open(filename, 'w') as f_obj:
  7. json.dump(numbers, f_obj) #接受两个参数, 要存储的数据以及可用于存储数据的文件对象
  8. #读取
  9. import json
  10. filename = 'number.json'
  11. with open(filename) as f_obj:
  12. numbers = json.load(f_obj)
  13. print(numbers)
  14. print(type(numbers))

python基础四-文件读取的更多相关文章

  1. python基础四(文件操作)

    1.文件操作的基本流程 1.1 文件操作的基本流程 # 绝对路径 # r"d:/葫芦娃.txt 前面的r 为转义. linux平台和windows的分隔符不同 f = open(r" ...

  2. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  3. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  4. 第二篇:python基础之文件读写

    python基础之文件读写   python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...

  5. 七. Python基础(7)--文件的读写

    七. Python基础(7)--文件的读写 1 ● 文件读取的知识补充 f = open('file', encoding = 'utf-8') content1 = f.read() content ...

  6. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  7. python从任意文件读取邮件地址输出的代码

    如下的资料是关于python从任意文件读取邮件地址输出的代码. # This script takes whatever you throw at stdin and outputs email ad ...

  8. python基础四(json\os\sys\random\string模块、文件、函数)

    一.文件的修改 文件修改的两种思路: 1.把文件内容拿出来,做修改后,清空原来文件的内容,然后把修改过的文件内容重新写进去. 步骤: 1.打开文件:f=open('file','a+')  #必须用a ...

  9. Python基础_文件的的处理及异常处理

    今天主要讲讲文件读写及异常处理. 一.文件操作 1.1 文件的创建及读 打开文件 open 函数  open(file,[option]) file 是要打开的文件 option是可选择的参数文件的打 ...

随机推荐

  1. DBExpress动态连接SQL-Server

    procedure TForm1.Button1Click(Sender: TObject);var  theCNN : TSQLConnection;//定义连接,要引用 DB, SqlExprbe ...

  2. 一、linux扩展

    1.linux-解压bz2文件提示tar (child): bzip2: Cannot exec: No such file or directory 原因,linux下没有bzip2解压工具 安装b ...

  3. zh-CN、zh-Hans区别

    zh-CN:地区限制匹配规范,表示用在中国大陆区域的中文.包括各种大方言.小方言.繁体.简体等等都可以被匹配到. zh-Hans:语言限制匹配规范,表示简体中文.适用区域范围是全宇宙用中文简体的地方, ...

  4. PDO访问Mysql数据库

    $dsn = 'mysql:host=127.0.0.1;dbname=myblog'; $username = 'root'; $pwd = '; $pdo = new PDO($dsn,$user ...

  5. 扩展运算符(spread)是三个点(…)

    扩展运算符(spread)是三个点(…),将一个数组||类数组||字符串转为用逗号分隔的序列. js中用来对数组进行操作,把数组里面的东西统统拿出来 一.展开数组 //展开数组 let a = [1, ...

  6. How to remove popup on boot on Windows 2003

    Administrative Tools\Manage Your Server\Add or remove a role\Add or Remove Programs Local Computer P ...

  7. How to blog on Github

    git clone https://github.com/test/test.github.io.git cd ~/test.github.io git config --global push.de ...

  8. easy install 与pip

    easy_insall的作用和perl中的cpan, ruby中的gem类似,都提供了在线一键安装模块的傻瓜方便方式,而pip是easy_install的改进版, 提供更好的提示信息,删除packag ...

  9. 使用Guava获取某一个类的指定超类上的泛型Type T

    package com.geostar.gfstack.operationcenter.log.common.hibernate; import com.geostar.gfstack.operati ...

  10. 微信小程序——报错汇总

    tabBar.list[2].selectedIconPath 文件不存在 很明显是文件名错了,定义的my-acive,少写了个t,眼睛出问题了~ module "static/vant/c ...