Python3&&文本File

Python的File操作

  1. 在Python下,对file文件的操作是通过创建一个文件对象,然后调用该文件对象的三个方法实现的。
  1. open 函数负责打开文件,并且返回文件对象。
  1. read/write/close 三个方法都需要通过 文件对象 来调用,即可实现对文件的所有操作。

File文件对象的创建

  • open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode='r')
  • open() 函数完整的语法格式为:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • 参数说明:

    • file: 必需,文件路径,相对或者绝对路径。

    • mode: 可选,文件打开模式。

    • buffering: 设置缓冲。

    • encoding: 一般使用utf-8。

    • errors: 报错级别。

    • newline: 区分换行符。

    • closefd: 传入的file参数类型。

    • opener:

  • Mode常用参数

提示,该网页有具体的参数以及使用说明,可以作为一个文档的查询工具,但是就学习而言过多,容易遗忘,所以只是挑选部分进行学习!

网页如下:http://www.runoob.com/python3/python3-file-methods.html

File文件的读取

File文件的读取

文件的读取,是从头开始,指针不断的滑动,所以一旦将文件读到底后,再读取是不会获取到任何的文件内容的,这点需要明确!

  • File文件的普通读取-一次性读取完整。
# 1. 相对路径读取.
# file = open("../this_test/00.txt")

# 2. 绝对路径读取.
file = open("C:/Users/Administrator/Desktop/00.txt")

# 获取文件内容--一次性读取完整.
text = file.read()
print(text)

# 关闭文件对象.
file.close()
  • File文件的按行读取
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 按行读取文件是会读取换行符号的,比如/n.

fo = open("C:/Users/Administrator/Desktop/00.txt", "r+")
print ("文件名为: ", fo.name)
count = 1
while True:
    line = fo.readline()
    if not line:
        break
    print("读取第%d行: %s" % (count, line), end="") # 若无end=""会显得很稀疏。
    count += 1
# 关闭文件对象.
fo.close()

"""显示结果为:""""
C:\Users\Administrator\venv\Scripts\python.exe I:/Own_Python_DeepLearning/file_test.py
文件名为:  C:/Users/Administrator/Desktop/00.txt
读取第1: 先看一下英语四六级的考试流程 
读取第2: 850---900试音时间 
读取第3: 900---910播放考场指令,发放作文考卷 
读取第4: 910取下耳机,开始作文考试 
读取第5: 935发放含有快速阅读的试题册(940才允许开始做) 
读取第6: 940---955做快速阅读 
读取第7: 955---1000收答题卡一(即作文和快速阅读) 
读取第8: 955---1000重新戴上耳机,试音寻台,准备听力考试 
读取第9: 1000开始听力考试,电台开始放音 
读取第10: 听力结束后完成剩余考项。 
读取第11: 1120全部考试结束。 
读取第12: 955---1000有五分钟的试音巡台,也就是给你的看题时间
Process finished with exit code 0

window下的ANSI文本内容:

若文本格式utf-8,Unicode则报错:

file文件的复制

若要实现对文本文件的复制,分具体情况,有以下可行的执行方法.
  • 方法一:一次性读取所有的文件内容进行文本文件的复制.
# 1. 创建文件对象.
file_read = open("000.txt")
file_write = open("000[副本].txt", "w")

# 2. 读取文件内容 写入文件内容.
text = file_read.read()
file_write.write(text)

# 3. 关闭文件对象.
file_read.close()
file_write.close()
  • 方法二:考虑到若是文本文件其他无比可以一行一行的复制,不过相对于Java的StringBuffered效率明显不足.
# 1. 创建文件对象.
file_read = open("000.txt")
file_write = open("000[副本].txt", "w")

# 2. 读取并写入文件.
while True:   
    text = file_read.readline()
    # 若text为空,非 非真=true,则中断。
    if not text:
        break	
    file_write.write(text)

# 3. 关闭文件对象.
file_read.close()
file_write.close()

文件目录操作函数

  • 文件的操作函数
import os
# 将source.txt改名为target.txt
os.rename(source.txt, target.txt)

# 将target.txt文件删除
os.remove(target.txt)
  • 目录操作函数

如图所示:
在这里插入图片描述

#!/usr/bin/python3
# -*- coding: coding:utf8 -*-
# 上行为将文件的储存格式描述为UTF-8.
# 理由为:Python2默认ASCCI,Python3默认UTF-8
# coding=utf8此写法亦可.
import os

print(os.listdir("C:/Users/Administrator/Desktop"))
print(os.path.isdir("C:/Users/Administrator/Desktop"))

说明。显然对应的操作对象是文件夹/文件的路径,形式为字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值