Python3 File

一、open() 方法

  • 用于打开一个文件,并返回文件对象,如果该文件无法被打开,会抛出 OS Error
  • 一定要保证关闭文件对象,即调用 file.close() 方法
# 一般形式
open(file, mode='r')
# 完整格式
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
序号参数描述
01file必选,相对或者绝对路径
02mode可选,文件打开模式
03buffering设置缓冲
04encoding一般使用 UTF8
05errors报错级别
06newline区分换行符
07closefd传入的 file 参数类型
08opener
序号模式描述
01t文本模式 (默认)
02x写模式,新建一个文件,如果该文件已存在,则会报错
03b二进制模式
04+打开一个文件进行更新 (可读可写)
05U通用换行模式 (不推荐)
06r打开一个文件只用于 只读 。文件指针将会放在文件的 开头
07rb二进制格式 打开一个文件用于 只读 。文件指针将会放在文件的 开头
08r+打开一个文件用于 读写。文件指针将会放在文件的 开头
09rb+二进制格式打开一个文件用于 读写 。文件指针将会放在文件的 开头
10w打开一个文件只用于 写入 。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
11wb二进制格式 打开一个文件只用于 写入 。如果该文件 已存在 则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件 不存在 ,创建新文件
12w+打开一个文件用于 读写。如果该文件 已存在 则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件 不存在 ,创建新文件
13wb+二进制格式 打开一个文件用于 读写。如果该文件 已存在 则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件 不存在,创建新文件
14a打开一个文件用于 追加 。如果该文件已存在,文件指针将会放在文件的 结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件 不存在 ,创建新文件进行 写入
15ab二进制格式 打开一个文件用于 追加。如果该文件 已存在,文件指针将会放在文件的 结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件 不存在 ,创建新文件进行 写入
16a+打开一个文件用于 读写 。如果该文件 已存在 ,文件指针将会放在文件的 结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于 读写
17ab+二进制格式 打开一个文件用于 追加 。如果该文件 已存在 ,文件指针将会放在文件的 结尾 。如果该文件 不存在 ,创建新文件用于 读写

二、文件对象方法

序号模式描述
01file.close()关闭文件 。关闭后文件不能再进行读写操作
02file.flush()刷新文件内部缓冲 。直接把内部缓冲区的数据 立刻写入文件 ,同时清空缓冲区
03file.fileno()返回 一个整型的文件描述符,可用于底层操作系统的 I/O 操作
04file.isatty()检测 文件 是否 连接到一个终端设备,如果是返回 True ,否则返回 False
05file.next(iterator)返回 文件的 下一行 ,如果到达结尾 (EOF) ,则触发 StopIteration
06file.read([size])返回 从文件 读取指定的字节数 ,如果未给定或为负,则读取所有
07file.readline([sizeint])返回 从文件 读取整行 (指定的字节数) ,包括换行符
08file.readlines([sizeint])返回 列表所有行 (直到结束符 EOF)
09file.seek(offset, whence)移动文件读取指针到指定位置
10file.tell()返回 文件的 当前位置 ,即文件指针当前位置
11file.truncate([size])截断 从文件的首行首字符到指定大小的字符串 ,无指定表示从当前位置截断
12file.write(str)返回 写入的字符长度,并将字符串写入文件
13file.writelines(sequence)向文件写入 一个序列字符串列表 ,如果需要换行,则要每行要加上换行符
# 该实例演示替换文件文本
def file_replace(file_name, rep_word, new_word):
    f_read = open(file_name)

    content = []
    count = 0

    for eachline in f_read:
        if rep_word in eachline:
            count += eachline.count(rep_word)
            eachline = eachline.replace(rep_word, new_word)
        content.append(eachline)    

    decide = input('\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【YES/NO】:' \
                   % (file_name, count, rep_word, rep_word, new_word))

    if decide in ['YES', 'Yes', 'yes']:
        f_write = open(file_name, 'w')
        f_write.writelines(content)
        f_write.close()

    f_read.close()


file_name = input('请输入文件名:')
rep_word = input('请输入需要替换的单词或字符:')
new_word = input('请输入新的单词或字符:')
file_replace(file_name, rep_word, new_word)
安装Docker安装插件,可以按照以下步骤进行操作: 1. 首先,安装Docker。可以按照官方文档提供的步骤进行安装,或者使用适合您操作系统的包管理器进行安装。 2. 安装Docker Compose插件。可以使用以下方法安装: 2.1 下载指定版本的docker-compose文件: curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 2.2 赋予docker-compose文件执行权限: chmod +x /usr/local/bin/docker-compose 2.3 验证安装是否成功: docker-compose --version 3. 在安装插件之前,可以测试端口是否已被占用,以避免编排过程中出错。可以使用以下命令安装netstat并查看端口号是否被占用: yum -y install net-tools netstat -npl | grep 3306 现在,您已经安装Docker安装Docker Compose插件,可以继续进行其他操作,例如上传docker-compose.yml文件到服务器,并在服务器上安装MySQL容器。可以参考Docker的官方文档或其他资源来了解如何使用DockerDocker Compose进行容器的安装和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Docker安装docker-compose插件](https://blog.youkuaiyun.com/qq_50661854/article/details/124453329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Docker安装MySQL docker安装mysql 完整详细教程](https://blog.youkuaiyun.com/qq_40739917/article/details/130891879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值