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是可选择的参数文件的打 ...
随机推荐
- 阿里云ECS服务器,CentOS 7.4配置jdk+tomcat+mysql
参考博客: https://mp.weixin.qq.com/s?__biz=MzIxMzk3Mjg5MQ==&mid=2247484020&idx=1&sn=6e0aa07f ...
- python之对字符串类型的数组求平均值
该字符串是在网页表格中复制的,所以数字间由制表符间隔,先将其转换成列表,再进行统计计算.代码如下: str = "-18.1 -18.3 -18 -18.2 -18 -17.4 -18 -1 ...
- 一、IntelliJ IDEA创建java项目
一.IntelliJ IDEA创建java项目 二.IntelliJ IDEA下载并包含jdbc包 1.下载zip格式的驱动包:https://dev.mysql.com/downloads/conn ...
- NPOI 上传Excel功能(三)
4.验证Excel并上传 using DC.BE.Business.SAS; using DC.BE.Business.SYS; using DC.BE.Entity.SAS; using DC.BE ...
- 时频工具箱tftb
安装:set path 常规里更新 一.信号产生函数: amexpo1s 单边指数幅值调制信号amexpo2s 双边指数幅值调制信号amgauss 高斯幅值调制信号amrect 矩形幅值调制信 ...
- JarvisOJ Basic 爱吃培根的出题人
听说你也喜欢吃培根?那我们一起来欣赏一段培根的介绍吧: bacoN is one of aMerICa'S sWEethEartS. it's A dARlinG, SuCCulEnt fOoD tH ...
- 基本排序算法[python实现]
冒泡排序 原理 冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换, ...
- G - Balanced Lineup POJ - 3264 线段树最大最小值区间查询模版题
题意 给出一个序列 每次查询区间的max-min是多少 思路:直接维护max 和min即可 写两个query分别查最大最小值 #include<cstdio> #include< ...
- [NOIp2009] $Hankson$ 的趣味题
类型:数论 传送门:>Here< 题意:给出四个数$a_0,a_1,b_0,b_1$,求满足$gcd(x,a_0)=a_1,lcm(x,b_0)=b_1$的$x$的个数 解题思路 显然$a ...
- 【XSY1081】随机存储器 网络流
题目描述 Bob有\(2^n\)字节的内存,编号为\([0,2^n-1)\).他想对每个字节的内存分别分配一个值.对于编号为\(i\)的内存,如果它被分配了一个值\(j(0\leq j<2^m) ...