python文件的读取


open函数打开文件,将返回值放入一个变量,例如 f

  • 用f.write函数写入文件
  • 用f.readlines()函数读取全部文件内容
  • 用f.readline()函数读取文件一行
  • 用f.close()函数关闭文件
  • 用f.read()读取全部文件内容。返回一个字符串,包含文件全部内容

创建文件并写入内容

a = open("c:\\tmp\\t.txt","w") 
#文件夹c:\tmp 必须事先存在,open不会创建文件夹
#"w"表示写入,用此种方式打开文件,若文件本来存在,就会被覆盖
a.write("good\n")
a.write("好啊\n")
a.close()

运行后文件 c:\tmp\t.txt 内容:
good
好啊

读取现有文件:


f = open("c:\\tmp\\t.txt","r") #"r"表示读取
lines = f.readlines() #每一行都带结尾的换行符"\n"
f.close() #lines是个字符串列表,每个元素是一行
for x in lines:
print(x,end="")

输出:
good
好啊

#不用readlines也行
f = open("c:\\tmp\\t.txt","r",encoding="utf-8")
for x in f:
print(x,end="")
f.close()

文件打开模式:

"r" : 文本文件读
"rb": 二进制文件读
"w" :文本文件写
"wb" :二进制文件写
"r+": 文本文件既读又写
"rb+": 二进制文件既读又写

文本文件的编码

常见编码有 gbk和utf-8两种。打开文件时如果编码不对,则不能正确读取文件
ANSI对应 gbk
写入文件时,如果不
指定编码,则用操作
系统的缺省编码
Windows: gbk,可能
从win10开始是 utf-8
Linux,MacOs: utf-8
在这里插入图片描述

python程序的编码

.py文件必须存成utf-8格式,才能运行
如果存成 ansi格式,则应该在文件开头写:
#coding=gbk

创建文件和读取文件时都可以指定编码
outfile = open("c:\\tmp\\t.txt","w",encoding="utf-8") #若打开文件用于写入时不指定编码,则使用系统缺省编码,win10下也可能是Ansi(gbk)
infile = open("c:\\tmp\\t.txt","r",encoding="utf-8")

路径

相对路径

相对路径形式: 文件名没有包含盘符

open("readme.txt","r")
文件在当前文件夹(当前路径)下
open("tmp/readme.txt","r") "/" 写成 "\\"效果也一样
文件在当前文件夹下的tmp文件夹里面
open("tmp/test/readme.txt","r")
文件在当前文件夹下的tmp文件夹里面的test文件夹下面
open("../readme.txt","r")
文件在当前文件夹的上一层文件夹里面
open("../../readme.txt","r")
文件在当前文件夹的上两层文件夹里面
open("../tmp2/test/readme.txt","r")
文件在当前文件夹的上一层的tmp2文件夹的test文件夹里面
tmp2和当前文件夹是平级的
open("/tmp3/test/readme.txt","r")
文件在当前盘符的根文件夹下的tmp3/test/里面

绝对路径形式: 文件名包含盘符

open("d:/tmp/test/readme.txt" ,"r")

程序可以获取当前文件夹:

import os
print(os.getcwd()) #os.getcdw()获取当前文件夹
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值