【Python——文件】

Python——文件

文件编码

编码技术即翻译规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容。
计算机中有许多可用编码:

  • UTF-8 ,目前全球通用的编码格式。
  • GBK
  • Big5

  • 不同编码,将内容翻译成二进制也是不同的。
    文件可分为文本文件按,视频文件,音频文件,图像文件,可执行文件等多种类别。
    文件操作主要包括打开,关闭,读,写。

文件的打开——open函数

语法:open(name,mode,encoding)

  • name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
  • mode:设置打开文件的模式,只读【r】,只写【w】,追加【a】等。
  • encoding:编码格式(一般使用UTF-8)

文件的读取——read函数

  • 语法:文件对象.read(num)
    num表示要从文件中读取数据的长度(字节),若没有传入num,则表示读取文件中的所有数据。
  • 语法:文件对象.readlines()
    readlines方法可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行数据为一个元素。
  • 语法:文件对象.readline()
    一次读取一行
  • for循环读取文件行
for line in open("test.txt"):
    print(line)
    #每个line的临时变量,记录了文件的一行数据

文件的关闭——close()函数

语法:文件对象,close()
另外,通过with open语句块中对文件进行操作,可以在操作完成后自动关闭close文件,避免遗忘掉close方法。
例如:

with open("test.txt","r") as f:
    f.readlines()

文件的写入——write()方法

语法:文件对象.write(写入内容)
例如:

#打开文件
f = open('python.txt','w')
#写入文件
f.write('hello word')
#内容刷新
f.flush()

注意:

  • 直接调用write,内容并未真正写入文件,而是会积攒在程序内存中,称之为缓冲区。
  • 当调用flush的时候,内容会真正写入文件。
    这样做是避免频繁的操作硬盘,导致效率下降。
  • 当用w模式打开文件进行操作时,若文件不存在,则会自动创建相应的文件;若文件存在,会将文件的内容清空再写入。

文件的追加——a模式

语法:文件对象.append(追加内容)

#用追加模式打开文件
f.open('python.txt','a')
#文件写入
f.write('\n我是程序员')
f.flush()
f.close()

注意:

  • a模式,文件不存在会创建文件;文件存在会追加文件。
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,我们可以使用内置的 `open()` 函数来打开一个文件,然后使用文件对象进行读写操作。下面是一个简单的例子: ## 写入文件 ```python # 打开文件(如果文件不存在则创建) file = open("example.txt", "w") # 写入内容 file.write("Hello, World!\n") file.write("This is an example file.\n") # 关闭文件 file.close() ``` 在上面的代码中,我们使用 `open()` 函数打开一个名为 `example.txt` 的文件,并指定模式为 `"w"`,表示写入模式。如果文件不存在,则会创建一个新的文件。然后,我们使用 `write()` 方法写入两行文本内容,并在每行的末尾添加了一个换行符。最后,我们使用 `close()` 方法关闭文件。 ## 读取文件 ```python # 打开文件 file = open("example.txt", "r") # 读取内容 content = file.read() # 关闭文件 file.close() # 输出内容 print(content) ``` 在上面的代码中,我们再次使用 `open()` 函数打开 `example.txt` 文件,并指定模式为 `"r"`,表示读取模式。然后,我们使用 `read()` 方法读取文件的所有内容,并将结果保存到 `content` 变量中。最后,我们使用 `print()` 函数输出 `content` 变量的值。 需要注意的是,在读取文件时,我们需要确保文件已经存在,否则会抛出 `FileNotFoundError` 异常。此外,在读取大文件时,我们可以使用 `readline()` 或 `readlines()` 方法逐行读取文件的内容,而不是一次性读取整个文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值