1. 打开文件方法

    open('xx')

    注意,open后括号内加的是文件名,这里默认是当前文件的相对路径,如果不在当前文件层,需要绝对路径,默认打开方法是读取,即read,默认的解码器为当前系统的解码器windows的默认为GBK,写全了是这样:open('xx','r',encoding = 'gbk')。

    open()方法结果即是一个句柄,f = opne('xx')

    记住,打开文件就一定要关闭文件,否则很占内存!

  2. 对文件操作的方法

    读取,'r',即read的缩写,文件打开后,只能、仅能读取,其他操作一律报错

    读取全部内容:

    f = open('xxx','r',encoding = 'utf8')

    #‘xxx’是文件名,这里即代表相对路径,'r'代表只读,encoding=‘utf8’,这里是因为系统文件是gbk解码器,但是pycharm默认是utf8,最好统一。

    data = f.read()    #这一步就是在内存中读取全部内容,即光标从最初依次移动到最末,讲所有的内容读取出来放在内存中,并用变量data保存。

    print(data)    #输出读取的内容

    f.close()        #关闭文件

    ##########代码写一起就是下面这样###############

    f = open('xxx','r',encoding = 'utf8')

    data = f.read()

    print(data)

    f.close()

    ==============================

    判断是否可读取

    即判断句柄对该文件的操作权限,是否可以读取内容

    f = open('xxx','r',encoding = 'utf8')

    print(f.readable())    #返回布尔值,判断函数

    f.close()

    ==============================

    逐行读取内容

    f = open('xxx','r',encoding = 'utf8')

    data = f . readline()    #读取一行内容

    print(data)                  #打印输出读取的内容

    f.close()                       #关闭文件

    注意:文件操作是看文件光标,他走完一行后就停下,在读取的时候,会同步读取你行末的回车键,再次运行该代码,光标不会重置,而是去下一行读取,

    f = open('xxx','r',encoding = 'utf8')

    print('第一行',f.readline())    #输出第一行的内容

    print('第二行',f.readline())    #输出第二行的内容

    print('第三行',f.readline())    #输出第三行的内容

    print('第四行',f.readline())    #输出第四行的内容

    f.close()

    ===============================

    读取所有行,并输出

    f = open('xxx','r',encoding = 'utf8')

    data = f.readlines()

    print(data)

    f.close()

    读取所有行的内容,并以列表形式输出,会用'\n'提示你每行末有个回车

  3. 写内容

    w,即write的缩写,仅能写,不能读取,且在该方法打开文件的同时,会清空文件内容,如果文件不存在,则新建该文件

    写一行的内容:

    f = open('xxx','w',encoding = 'utf8')

    f.write('111111\n')    #\n是告诉系统到这里该回车了

    f.close()

    该操作是对文件的实际性操作,不要在内存保存,故没有用变量来保存中间过程

    ===============================

    写多行内容

    对应readlines,这里是writelines,但是其传入参数同样应该为readlines的输出结果,即列表

    f = open('xxx','w',encoding = 'utf8')

    f.writelines(['11111\n','2222222\n','3333333\n'])

    f.close

    ==================================

    写入内容一定要是字符串,数字等形式不行,会报错

  4. 追加写内容

    追加写入,即在文件内容末尾继续写入,‘a’

    方法同write

  5. 其他方法

    ‘r+’:可读取可写入

    ‘w+’:可写入可读取

    ‘x’:只写模式,不存在不会创建会报错,渣渣

    ‘x+’:可写可读,不创建,不存在会报错,渣渣

    ‘a+’:可追加写可读

    ‘r’、‘r+’、‘w’、‘w+’、‘a’、‘a+’

  6. 修改文件内容并保存的方法的

    步骤:

    从硬盘中读取该文件内容至内存,然后对其进行修改,保存到一个新文件,用新文件覆盖旧的文件【这里要用的一个模块功能,暂时未学习,想来应该是os?】

  7. 关键词用法

    with open

    打开后,自动关闭,不需要在写关闭代码

    with open('xx','w',encoding = 'utf8') as f:

    f.write('111222333\n')

    with open可以同时打开多个文件

    with open('xx','w',encoding = 'utf8') as faa,\

    ('yy','w',encoding = 'utf8') as fbb:

    代码解释:

    with open的格式,后面赋值给文件句柄,需要用as;打开多个文件的时候,代码太长,为了方便需要隔断,隔断就是找到一个合适的地方,用\标记,然后回车换行。

  8. 二进制读取写入方式

    f = open('xxx','rb')

    内容存储在硬盘上的时候,就是二进制状态,在以打开二进制模式打开的时候,不可以指定编码

    【从字符串----编码----》二进制】

    【从二进制----解码----》字符串】

    f = open('xxx','rb')

    data = f.read()

    print(data)    #输出二进制内容

    如果要输出正常内容怎么办,对data进行解码操作

    res = data.decode('utf-8')

    print(res)

    ===================================

    关于二进制下写入

    与读取对应,你写入的也应该是二进制数据,

    f = open('xxx','wb')

    f.write('asdfa'.encode('utf8'))

    ====================================

  9. 什么时候还会用到二进制读写方法?

    其实在open函数中,‘r’,'w','a'等默认是'r','wt','at',这是指针对文本修改,但是文件,不仅仅是文本,还有图片、视频等等;二进制 处理文件,可以是文件跨平台使用,因为不论是Windows还是Linux等系统,底层都是二进制。

python基础学习之文件的基础操作方法的更多相关文章

  1. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  2. python 的基础 学习 第五天 基础数据类型的操作方法

    1,列表的基本操作方法 1,列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: ...

  3. python基础学习之文件操作&函数

    1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...

  4. Python基础学习之文件(2)

    文件内建方法 1.输入 read()方法用来直接读取字节到字符串中,最多读取给定数目个字节.如果没有给定size参数(默认值为-1)或size值为负,文件将被读取直至末尾. readline()方法读 ...

  5. python基础学习笔记——文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  6. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  7. Python基础学习四 文件操作(二)

    ####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...

  8. Python基础学习三 文件操作(一)

    文件读写 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[不可读: 不存在则创建:存在则只追加内容:] r+,[可读.可写:可追加,如果打开的文件不存 ...

  9. Python基础学习之文件(1)

    1.文件对象 文件对象不仅可以用来访问普通的磁盘文件,还可以访问具有文件类型接口的其他对象;文件只是连续的字节序列. 2.文件内建函数(open()) 内建函数open()是打开文件的"钥匙 ...

随机推荐

  1. OpenStack Train版-4.安装placement放置服务

    安装placement放置服务 创建placement数据库 mysql -uroot CREATE DATABASE placement; GRANT ALL PRIVILEGES ON place ...

  2. Atlas 分表功能

    目录 分表原因 分表方式 Atlas 分表 分表思路 配置 Atlas 创建原表 创建分表 数据测试 分表原因 1.数据过多,访问缓慢 2.创建索引时重新排序,创建缓慢,并且占用大量的磁盘空间 分表方 ...

  3. Python-collections模块之defaultdict

    defaultdict defaultdict 是 dict 类型的子类,正如其名,初始化时,可以给key指定默认值,什么意思呢?直接看代码.如果是普通的dict对象,访问一个不存在的key时,会报错 ...

  4. 关于HashMap遍历,为什么要用entry

    Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Va ...

  5. 机器学习(四):通俗理解支持向量机SVM及代码实践

    上一篇文章我们介绍了使用逻辑回归来处理分类问题,本文我们讲一个更强大的分类模型.本文依旧侧重代码实践,你会发现我们解决问题的手段越来越丰富,问题处理起来越来越简单. 支持向量机(Support Vec ...

  6. React Query & SWR

    React Query & SWR HTTP request all in one solution React Query Hooks for fetching, caching and u ...

  7. image auto downloader

    image auto downloader icons killer / js crawler http only + same-origin OK "use strict"; / ...

  8. 钓鱼教程 All In One

    钓鱼教程 All In One youtube https://www.youtube.com/results?search_query=钓鱼教程&sp=CAM%3D 钓鱼证 https:// ...

  9. cnblogs 日期错乱 bug

    cnblogs 日期错乱 bug 时间错乱 bug archive/2004/01/13/ 什么鬼 呀默认时间戳 https://www.cnblogs.com/xgqfrms/archive/200 ...

  10. How to implement an accurate countdown timer with js

    How to implement an accurate countdown timer with js 如何用 js 实现一个精确的倒计时器 原理剖析 web worker js custom ti ...