python基础四-文件读取
文件读取
open()接受一个参数:要打开的文件名, 并返回一个表示文件的对象, 存储到后面的变量中
python会在当前执行文件所在目录查找
可以使用绝对路径, 在linux中使用'/', 在windows使用'\'
绝对路径通常较长, 建议存到一个变量中!
关键字with在不再需要访问文件(合适的时候)后自动将文件关闭
pi_digits.txt
3.1415926535
8979323856
2643383279
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)
#这样打印出来会多一个空行,原因在于read()在每一行末都会返回一个空字符串,将这个空字符串显示出来就是一个空行,即read()在最后一行行末遇到一个空字符串,最后多打印了一个空行
print(contents.rstrip())
#逐行读取
filename = 'pi_digits.txt'
with open(filename) as file_object:
for i in file_object:
print(i.rstrip())
创建一个包含文件各行内容的列表
readlines()返回一个列表,包含所有行
filename = 'text_files\pi_digits.txt'
with open(filename) as file_object:
lines = file_object.readlines()
print(type(lines))
print(lines)
for line in lines:
print(line.rstrip())
# result:
# <class 'list'>
# ['3.1415926535\n', ' 8979323856\n', ' 2643383279\n', ' ']
# 3.1415926535
# 8979323856
# 2643383279
#为什么列表最后有一个空格?因为readlines()读到文件末尾了
文件写入, python只能将str类型写入文本文件
filename = 'programming.txt'
with open(filename, 'w') as file_object:#如果没有指定第二个参数,默认为只读
file_object.write("I love programming.")
write()不会在文本末尾添加换行
写入多行要用'\n'
#异常处理
print("Give me two numbers, and I'll divide them.")
print("Enter 'q' to quit.")
while True:
first_number = input("\nFirst number: ")
if first_number == 'q':
break
second_number = input("\nSecond number: ")
try:
answer = int(first_number) / int(second_number)
except ZeroDivisionError:
print("You can't divide by 0!")
else:
print(answer)
#try-except-else代码块原理: try-except代码块后面还有其他代码, 程序将接着运行
#意思就是try尝试运行, except负责处理出错, 其余情况由else负责
#存储数据
#json.dump()存储; json.load()读取
import json
numbers = [2,3,5,7,11,13]
filename = 'number.json'
with open(filename, 'w') as f_obj:
json.dump(numbers, f_obj) #接受两个参数, 要存储的数据以及可用于存储数据的文件对象
#读取
import json
filename = 'number.json'
with open(filename) as f_obj:
numbers = json.load(f_obj)
print(numbers)
print(type(numbers))
python基础四-文件读取的更多相关文章
- python基础四(文件操作)
1.文件操作的基本流程 1.1 文件操作的基本流程 # 绝对路径 # r"d:/葫芦娃.txt 前面的r 为转义. linux平台和windows的分隔符不同 f = open(r" ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- 第二篇:python基础之文件读写
python基础之文件读写 python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...
- 七. Python基础(7)--文件的读写
七. Python基础(7)--文件的读写 1 ● 文件读取的知识补充 f = open('file', encoding = 'utf-8') content1 = f.read() content ...
- Python 基础 四 面向对象杂谈
Python 基础 四 面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...
- python从任意文件读取邮件地址输出的代码
如下的资料是关于python从任意文件读取邮件地址输出的代码. # This script takes whatever you throw at stdin and outputs email ad ...
- python基础四(json\os\sys\random\string模块、文件、函数)
一.文件的修改 文件修改的两种思路: 1.把文件内容拿出来,做修改后,清空原来文件的内容,然后把修改过的文件内容重新写进去. 步骤: 1.打开文件:f=open('file','a+') #必须用a ...
- Python基础_文件的的处理及异常处理
今天主要讲讲文件读写及异常处理. 一.文件操作 1.1 文件的创建及读 打开文件 open 函数 open(file,[option]) file 是要打开的文件 option是可选择的参数文件的打 ...
随机推荐
- DBExpress动态连接SQL-Server
procedure TForm1.Button1Click(Sender: TObject);var theCNN : TSQLConnection;//定义连接,要引用 DB, SqlExprbe ...
- 一、linux扩展
1.linux-解压bz2文件提示tar (child): bzip2: Cannot exec: No such file or directory 原因,linux下没有bzip2解压工具 安装b ...
- zh-CN、zh-Hans区别
zh-CN:地区限制匹配规范,表示用在中国大陆区域的中文.包括各种大方言.小方言.繁体.简体等等都可以被匹配到. zh-Hans:语言限制匹配规范,表示简体中文.适用区域范围是全宇宙用中文简体的地方, ...
- PDO访问Mysql数据库
$dsn = 'mysql:host=127.0.0.1;dbname=myblog'; $username = 'root'; $pwd = '; $pdo = new PDO($dsn,$user ...
- 扩展运算符(spread)是三个点(…)
扩展运算符(spread)是三个点(…),将一个数组||类数组||字符串转为用逗号分隔的序列. js中用来对数组进行操作,把数组里面的东西统统拿出来 一.展开数组 //展开数组 let a = [1, ...
- 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 ...
- How to blog on Github
git clone https://github.com/test/test.github.io.git cd ~/test.github.io git config --global push.de ...
- easy install 与pip
easy_insall的作用和perl中的cpan, ruby中的gem类似,都提供了在线一键安装模块的傻瓜方便方式,而pip是easy_install的改进版, 提供更好的提示信息,删除packag ...
- 使用Guava获取某一个类的指定超类上的泛型Type T
package com.geostar.gfstack.operationcenter.log.common.hibernate; import com.geostar.gfstack.operati ...
- 微信小程序——报错汇总
tabBar.list[2].selectedIconPath 文件不存在 很明显是文件名错了,定义的my-acive,少写了个t,眼睛出问题了~ module "static/vant/c ...