python学习第八天,,文件操作,切片相当于浅copy

切片的补充:

   切片相当于浅copy: 

a = [1,2,3,4,5]
b = a[:]
print(id(a),id(b),id(a[0]),id(a[0]))
#2432299195592 2432299195528
#1795645664 1795645664

文件的操作:(分为三步)

  1.打开文件.产生文件句柄 f

  2.对文件句柄进行操作

  3.关闭文件句柄

f = open(r‘a.txt‘,encoding=‘utf-8‘,mode=‘r‘)
f.read()
content = f.close()
print(content)
f.close()

  ‘open()是python的内置函数,调用的是windows系统的命令‘

    运行这三步报错的原因:

      1.编码方式错误

      2.路径不对

打开文件的模式以及对应的操作:

1.读

  以mode=‘r的模式打开文字类文件(默认打开模式)

f = open(r‘a.txt‘,encoding=‘utf-8‘,mode=‘r‘)
b = f.read()
print(b)
f.close()
    #五种读取方法:
        f.read() 全部读取,以字符串形式输出
        f.read(10),,n表示read,在r模式下是读n个字符,在rb模式下是读n个字节     f.readline() 按行读取      f.readlines() 全部读取,以列表的形式输出 #----------以上四种方式读大数据时占用内存 # 以for循环方式读取 #(for循环读可迭代对象,每次在内存中只读取一行,读后就删除不占用内存)      f = open(r‘a.txt‘,encoding=‘utf-8‘,mode=‘r‘) for line in f: print(line,end=‘‘) #end=‘‘,清除换行符 f.close()

  

以mode=‘rb‘打开任何文件

with open(r‘a.txt‘,‘rb‘) as f1,open(r‘b.txt‘,‘a‘,encoding=‘utf-8‘) as f2:
    for line in f1:
        f2.write(line.decode())

  以mode=‘r+‘打开文件(可读可追加)

    1.先读后写

f = open(r‘a.txt‘,encoding=‘utf-8‘,mode=‘r+‘)
c = f.read(3) #c = f.read(3),不管是读三个还是全部的光标都移到了最后一行末尾
print(c)
b = f.write(‘a‘)
f.close()

    2.先写后读

f = open(r‘a.txt‘,encoding=‘utf-8‘,mode=‘r+‘)
f.write(‘简单‘) # 光标在开头,写入几个字符覆盖几个字符
f.close()

   

2.追加

  a:只追加

f = open(r‘aaa.txt‘,encoding=‘utf-8‘,mode=‘a‘)
    # 没有aaa.txt文件则在同一个文件夹下创建该文件然后写入
    #有aaa.txt文件则在末尾添加新内容
    #有aaa.txt文件在末尾添加新内容+\n则换行追加

    f.write() # 只能加字符串

    f.writelines() # 可以将列表转换成字符串加入文件,也可以直接在末尾加入字符串,元素中不能由数字

f = open(r‘a.txt‘,encoding=‘utf-8‘,mode=‘a‘)
f.writelines([‘a‘,‘b‘,‘c‘]) #字符串里不能由int类型
f.close()

  a+:先追加再读,光标还在末尾,

    想要读要添加:f.seek(0)

     (光标在最后一行末尾,先读,则读不出内容.)

f = open(r‘a.txt‘,encoding=‘utf-8‘,mode=‘a+‘)
f.writelines(‘aaa‘)
f.seek(0)
b = f.read()
print(b)
f.close()

3.写w:

f = open(r‘aaa.txt‘,encoding=‘utf-8‘,mode=‘w‘)
    #没有aaa.txt文件则在同一个文件夹下创建该文件然后写入
    #有aaa.txt文件则清空原文件,并添加新内容

4.文件的其他操作方法:

  f.readable()

  f.writeable()

  f.seek() 调整光标(按字节移动光标)

    f.seek(0)

    f.seek(0,2)将光标调整到最后一行末尾,,以字节的方式移动

      (0) 光标在开头

      (0,1) 光标在现在位置

      (0,2) 光标的末尾,往后0个字节

      (1,1) 光标在现在位置往后1个字节

  f.tell() 获取到指针的位置

  f.truncate() 对原文件进行截取

    要在‘r+‘,‘a+‘模式下使用,不能再‘w‘,模式下使用

5.用with打开文件

with open() as f:
    pass
    #优点:
    # 可以主动关闭文件句柄
    # 可以同时开启多个文件的句柄
    with open(1) as f1,            open(2) as f2

6.文件改的操作

文件的改的操作:
    以读的模式打开原文件,产生一个文件句柄f1
    以写的模式创建一个新文件,产生一个文件句柄f2
    读取原文件内容,进行修改后,写入新文件
    将原文件删除
    将新文件重命名成原文件

import os
with open(‘alex的深度剖析‘, encoding=‘utf-8‘) as f1,    open(‘alex的深度解析.bak‘,encoding=‘utf-8‘,mode=‘a‘) as f2:
    for line in f1:
        new_line = line.replace(‘alex‘,‘SB‘)
        f2.write(new_line)
os.remove(‘alex的深度剖析‘)
os.rename(‘alex的深度解析.bak‘, ‘alex的深度剖析‘)

原文地址:https://www.cnblogs.com/jiandanxie/p/9532968.html

时间: 2024-11-09 04:38:20

python学习第八天,,文件操作,切片相当于浅copy的相关文章

Python学习基础篇—文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互拥抱 到底是为了什么 因为我刚好遇见你 留下足迹才美丽 风吹花落泪如雨 因为不想分离 因为刚好遇见你 留下十年的期许 如果再相遇 我想我会记得你 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互

python学习笔记(三):文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 寂寞当然有一点 你不在我身边 总是特别想念你的脸 距离是一份考卷 测量

Python学习:7.文件操作

文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文件的基本步骤: 打开文件 对文件内容进行操作(读取文件信息,向文件中写入信息等) 关闭文件 一.打开文件 在上一篇的内置函数介绍中,我们提到了open这个函数,这个函数的作用就是打开一个文件. 格式一 文件句柄 = open(文件路径,打开格式,编码) 打开文件时,需要指定文件路径和以何种方式打开文

python学习笔记4-python文件操作

python文件操作 open r:以读方式打开 w:以写方式打开 a:以追加模式 r+:读写模式 w+:读写模式(参见w) a+:读写模式(参见a) rb:以二进制读模式打开 wb:以二进制写模式打开(参见w) ab:以二进制追加模式打开(参见a) rb+:以二进制读写模式打开(参见r+) wb+:以二进制读写模式打开(参见w+) ab+:以二进制读写模式打开(参见a+) with open 使用for循环遍历文件 打开文件 [[email protected] ~]# vim forread

Python学习系列之文件操作

Pyhton文件打开方式 with= open('文件路径','打开模式') as f:#PS:python3提供了with语句来帮我们自动调用close方法,所以说无论打开文件是否出错都能自动正确的关闭文件 Python打开文件的模式 基本模式 带'+'的模式 带'b'的模式 #提示:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型 带'+'和带'b'的模式 Python文件读取方式 Pyhton文件写入方式 Python文件操作所提供的方法 close(self) 关闭已经打

python学习05-文件操作

文件操作分为读.写.修改,以什么模式存文件,就以什么模式编码打开文件. 打开文件的模式有: r,只读模式(默认). # 以什么模式存文件,就以什么模式编码打开文件 # 示例一:r是文本只读模式 f = open(file='D:/工作/兼职联系信息.txt',mode='r',encoding='utf-8') # 绝对路径访问 data = f.read() f.close() # 示例二:rb:二进制只读模式,无法指定encoding,因为在该模式下数据读到内存里直接是bytes格式,如要查

Python学习总结之文件操作

从本次随笔开始,陆续总结下自己在学习Python中各个模块的一些总结.最近一直在学习<Python核心编程>,发现如果只是翻书的话,翻一遍就忘记,所有,现在争取在一个月内,把Python常用的一些基础知识做一个梳理和总结. 本次总结文件和输入输出的一些操作,参考书目<Python 核心编程 第二版>. 一,文件的操作 文件的入口是由内建函数 open()和file()来提供初始化的操作.这两个内建函数操作基本上一样,可以互用,而且大部分习惯来说,还是用open()比较多一些. op

python学习之:文件操作二

import logginglogging.basicConfig(level=logging.INFO) '''def check_number_exist(password_str): has_number = False for c in password_str: if c.isnumber(): has_number = True break return has_number def check_letter_exist(password_str): has_letter = Fal

python学习笔记九——文件与目录

1.python进行文件读写的函数是open或file类 mode:r  只读 r+   读写 w  写入,先删除原文件,再重新写入,如果文件没有则创建 w+  读写,先删除原文件,再重新写入,如果文件没有则创建(可写入和输出) a  写入,在文件末尾追加新的内容,文件不存在则创建 a+  读写,在文件末尾追加新的内容,文件不存在则创建 b  打开二进制文件,可与r,w,a,+结合使用 U  支持所有的换行符号,"\r","\n","\r\n"