8.Python初窥门径(文件操作)
Python (文件操作)
一、文件操作方式
- 打开文件 open
- 操作文件 read or write
- 关闭文件 close
二、打开文件的方式(第一种)
语法 :
f=open("文件",mode="模式",encoding="编码")
- open() # 调用操作系统打开文件
- mode() # 对文件的操作方式,("")内填入文件的操作方式.
- encoding= # 文件的编码,=""跟着编码方式
- f # 文件句柄
注意 : 使用原生字符可以解决\的问题,在"文件"前加r)
# 不使用r时
f=open("D:\\Git\\Git存储\\学习.txt",mode="r",encoding="UTF-8")
# \\用来和python中的一些关键字做区分,不用\\表示可能会出错
---------------------------------
# 使用r时
f=open(r"D:\Git\Git存储\学习.txt",mode="r",encoding="UTF-8")
# 此时的r是repr的简称,repr作用是保持原始状态消除关键字功能.
三、文件操作方式 (注意 : 换行符\n)
r w a 操作的都是文本
读 : r (读后光标会移动到最后)
- f.read() # 读取全部,()内可以加入数字,代表按照字符读取
- f.readline() # 读取一行内容内的多个字符
- f.readines() # 一行一行读取,存储到列表中
写 : w a (w时没有文件创建文件,有文件分两步,先清空在写入)
- w时,f.write() # 文件开头写入
- a时,f.write() # 文件末尾写入
r+(读写),w+(写读),a+(追加写读)
- 后期开发中使用频率比较低,使用时注意光标位置
rd r+d wb w+bab 操作非文本文件
读取本地非文本文件时,读方式和操作读文本方式一样,只需要注意文件类型并且操作方式改成rd即可
f = open("1.jpg",mode="rb")
print(f.read()) # read() 全部读取
print(f.read(3)) # 字节
下载并保存网络文件时,需要调用import requests,实例如下
import requests
ret=requests.get("http://www.521609.com/uploads/allimg/151124/1-1511241G251317.png")
f = open("2.jpg",mode="wb")
f.write(ret.content)
f.close()
四、文件其它操作方式
f.tell() # 查看光标所在的字节位置,会有返回值,返回值就是当前光标的位置
f.seek(偏移量,位置) # 移动光标字节位置
偏移量 : 按照字节来算,与所用的文件编码有关.
位置 : 0代表开头位置,1代表当前位置,2代表末尾位置
seek(0,0) # 文件开始位置
seek(0,1) # 光标的当前位置
seek(0,2) # 文件末尾位置
seek(3) # 按照字节调节,使用utf-8汉字是3,gbk汉字是2
五、文件路径分类
绝对路径 : 从磁盘的跟处查找
相对路径 : 相对于当前文件进行查找,../代表上一级,查看当前工作路径调用 import os
import os
print(os.getcwd()) # 查看当前工作路径
六、文件安全读取方式
运用for迭代方式直接对f进行迭代读取,不会因为文件过大,撑爆内存.
f=open("文件",mode="模式",encoding="编码")
for i in f:
七、打开文件的方式(第二种)
语法 :
with open("文件路径1",mode="操作方式",encoding="编码方式") as f1,
open("文件路径2",mode="操作方式",encoding="编码方式") as f2 :lis=[]
num=1
with open("a1",mode="r",encoding="utf-8") as f:
for r in f: # 注意缩进
dic = {}
lis1=r.strip().split(" ")
if num==1:
lis2=lis1.copy()
else:
for i in range(len(lis2)):
dic[lis2[i]]=lis1[i]
lis.append(dic)
num+=1
print(lis)
作用 :
- 此方式系统会自动帮助关闭文件
- 可以同时操作多个文件
- 可以同时操作一个文件.
8.Python初窥门径(文件操作)的更多相关文章
- Python :open文件操作,配合read()使用!
python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...
- Python 常见文件操作的函数示例(转)
转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
- python中文件操作的六种模式及对文件某一行进行修改的方法
一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...
- python中文件操作的其他方法
前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...
- Python常见文件操作的函数示例
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
- python的文件操作及简单的用例
一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...
- python基本文件操作
python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...
随机推荐
- JavaScript预解释是一种毫无节操的机制
前言 JavaScript是一门解释型的语言 , 想要运行JavaScript代码需要两个阶段 编译阶段: 编译阶段就是我们常说的JavaScript预解释(预处理)阶段,在这个阶段JavaScrip ...
- POJ题目算法分类总结博客地址
http://blog.csdn.net/sunbaigui/article/details/4421705 又从这个地址找了一些:http://blog.csdn.net/koudaidai/art ...
- [转]aliyun阿里云Maven仓库地址——加速你的maven构建
原文链接:http://www.cnblogs.com/geektown/p/5705405.html maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度 ...
- 打造vim成类source insight
一.Ubuntu14.04下配置 1.配置vimrc文件 输入:version课查看vimrc文件及位置: system vimrc file: "$VIM/vimrc" user ...
- matlab程序计时
t1=datetime(); %程序 t2=datetime() totaltime=t2-t1; disp(t2-t1); 或者: tic %代码块 toc disp(['运行时间: ',num2s ...
- 分享知识-快乐自己:自定义struts2类型转换的全局与局部错误信息。
遇到类型转换错误的时候(也就是说不能进行类型转换),struts2框架自动生成一条错误信息,并且将该错误信息放到addFieldError里面.我们可以通过配置文件来替换这条由struts2自动生成的 ...
- ResNeXt——与 ResNet 相比,相同的参数个数,结果更好:一个 101 层的 ResNeXt 网络,和 200 层的 ResNet 准确度差不多,但是计算量只有后者的一半
from:https://blog.csdn.net/xuanwu_yan/article/details/53455260 背景 论文地址:Aggregated Residual Transform ...
- Android sdk 搭建
下载安装 http://pan.baidu.com/wap/share/home?uk=67915989&third=0 搭建Android环境时,无论使用的Eclipse还是Android ...
- 疑难杂症:“代理 XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 来启用“代理 XP”。
“代理 XP”组件已作为此服务器安全配置的一部分被关闭.系统管理员可以使用 sp_configure 来启用“代理 XP”.有关启用“代理 XP”的详细信息,请参阅 SQL Server 联机丛书中的 ...
- CodeForces - 1005E2:Median on Segments (General Case Edition) (函数的思想)
You are given an integer sequence a1,a2,…,ana1,a2,…,an. Find the number of pairs of indices (l,r)(l, ...