Python实现将内容写入文件的五种方法总结

目录
  • 一、write()方法
  • 二、writelines() 方法
  • 三、print() 函数
  • 四、使用 csv 模块
  • 五、使用 json 模块

一、write()方法

使用 write() 方法:使用 open() 函数打开文件,然后使用 write() 方法将内容写入文件。例如:

with open('example.txt', 'w') as f:
    f.write('Hello, world!')

open() 函数是 Python 内置的用于打开文件的函数,其常用的参数及其含义如下:

1.file: 文件名或文件路径。可以是绝对路径或相对路径。如果是相对路径,则相对于当前工作目录。如果省略了路径,就在当前工作目录中打开文件。

2.mode: 文件打开模式。可以是以下值之一:

  • 'r': 只读模式。默认模式,如果文件不存在,会引发异常。
  • 'w': 写模式。如果文件不存在,则创建文件。如果文件已存在,则清空文件并写入新内容。
  • 'x': 独占创建模式。如果文件不存在,则创建文件。如果文件已存在,则引发异常。
  • 'a': 追加模式。如果文件不存在,则创建文件。如果文件已存在,则将新内容添加到文件末尾。
  • 'b': 二进制模式。与其他模式一起使用,例如 'rb' 或 'wb'。
  • 't': 文本模式。与其他模式一起使用,例如 'rt' 或 'wt'。

3.buffering: 设置缓冲区的大小。如果省略或为0,则不进行缓冲。如果为1,则行缓冲。如果大于1,则为缓冲区大小。

4.encoding: 用于编码和解码文件内容的编码格式。如果省略,使用默认编码。

5.errors: 编码和解码文件内容时遇到错误时的处理方式。可以是以下值之一:

  • 'strict': 默认值,表示遇到错误时引发异常。
  • 'ignore': 忽略错误。
  • 'replace': 用 '?' 替换错误的字符。
  • 'backslashreplace': 用反斜杠转义替换错误的字符。
  • 'xmlcharrefreplace': 用 XML 实体替换错误的字符。
  • 'namereplace': 用 \N{...} 转义替换错误的字符。

6.newline: 控制文本模式下的换行符处理方式。可以是以下值之一:

  • None: 使用默认换行符 \n。
  • '': 不进行换行符转换。
  • '\n', '\r', '\r\n', '\u2028', '\u2029': 使用指定的换行符。

7.closefd: 如果为 True,则表示将在打开文件时关闭其底层文件描述符。默认为 True。

8.opener: 用于打开文件的自定义函数或类。默认为 None。

这些参数可以以不同的组合使用,以满足对文件的不同操作需求。例如,open('example.txt', 'w') 会以写模式打开名为 example.txt 的文件,如果文件不存在,则创建一个新的空文件。

二、writelines() 方法

writelines() 方法将一个字符串列表写入文件。例如:

with open('example.txt', 'w') as f:
    lines = ['Hello, world!', 'Welcome to Python']
    f.writelines(lines)

writelines() 方法是用于将字符串列表写入文件的方法。但是需要注意以下几点:

  • writelines() 方法只接受字符串列表作为参数。如果要写入单个字符串,请使用 write() 方法。
  • writelines() 方法不会在字符串之间自动添加换行符,需要手动将其添加到字符串中。
  • writelines() 方法不会在列表的最后添加空行,如果需要在最后一行添加空行,请手动添加一个包含换行符的空字符串。
  • 在使用 writelines() 方法时,需要保证传递的参数是一个字符串列表。如果参数是一个生成器对象,需要将其转换为列表再传递。
lines = ['line 1\n', 'line 2\n', 'line 3\n']

with open('example.txt', 'w') as f:
    f.writelines(lines)

方法的高级用法主要是将迭代器对象中的数据写入文件,而不需要将其一次性转换为列表。这种用法对于大型数据集合很有用,因为它可以逐个迭代元素,避免将所有元素存储在内存中。

def generate_lines():
    yield 'line 1\n'
    yield 'line 2\n'
    yield 'line 3\n'

with open('example.txt', 'w') as f:
    f.writelines(generate_lines())

在上面的代码中,generate_lines() 函数返回一个迭代器对象,它逐个生成字符串。然后,将这个迭代器对象传递给 writelines() 方法,writelines() 方法将迭代器对象中的字符串逐个写入文件。

三、print() 函数

可以使用 print() 函数向文件写入内容,需要指定 file 参数为打开的文件对象。例如:

with open('example.txt', 'w') as f:
    print('Hello, world!', file=f)

以下是 print() 函数的常用参数及其详细介绍:

print() 函数是 Python 中用于打印输出信息到终端的内置函数。print() 函数可以接受多个参数,并将它们打印输出到终端。

以下是 print() 函数的常用参数及其详细介绍:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

  • *objects:一个或多个要打印输出的对象,可以是字符串、数字、变量等。可以接受任意数量的参数。
  • sep:用于分隔多个参数的字符,默认是一个空格。在打印输出多个参数时,sep 参数将作为它们之间的分隔符。
  • end:用于表示打印输出结束的字符,默认是一个换行符。在打印输出最后一个参数之后,end 参数将作为它们之后的字符。
  • file:用于指定输出的文件对象,默认是标准输出设备 sys.stdout。可以将输出重定向到文件中,以便将输出保存到文件中而不是终端。
  • flush:用于指定是否立即刷新缓冲区,默认为 False。如果将 flush 参数设置为 True,则输出将立即写入文件,而不是等待缓冲区满了再写入。
# 打印输出单个字符串
print("Hello World")

# 打印输出多个参数
print("Name:", "John", "Age:", 25)

# 使用自定义分隔符
print("Name:", "John", "Age:", 25, sep="-")

# 使用自定义结束符
print("Name:", "John", "Age:", 25, end=".")

# 将输出重定向到文件
with open('output.txt', 'w') as f:
    print("Hello World", file=f)

# 立即刷新缓冲区
print("Hello World", flush=True)

print(string, *args, **kwargs)

  • string:格式化字符串,其中包含要打印输出的信息和格式化占位符。格式化占位符用花括号 {} 包裹,并指定要填充的数据的类型、宽度、精度等信息。
  • *args:可选参数,包含要填充到格式化字符串中的数据。
  • **kwargs:可选参数,包含键值对,用于指定格式化字符串中的占位符的值。
name = "John"
age = 25

# 使用占位符输出字符串
print("Name: {}, Age: {}".format(name, age))

# 使用关键字参数输出字符串
print("Name: {n}, Age: {a}".format(n=name, a=age))

# 使用 f-string 输出字符串
print(f"Name: {name}, Age: {age}")

四、使用 csv 模块

可以使用 csv 模块将数据写入 CSV 文件。例如:

import csv

with open('example.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['Name', 'Age', 'Gender'])
    writer.writerow(['Alice', 25, 'F'])
    writer.writerow(['Bob', 30, 'M'])

五、使用 json 模块

可以使用 json 模块将 Python 对象写入 JSON 文件。例如:

import json

data = {
    'name': 'Alice',
    'age': 25,
    'gender': 'F'
}

with open('example.json', 'w') as f:
    json.dump(data, f)

到此这篇关于Python实现将内容写入文件的五种方法总结的文章就介绍到这了,更多相关Python内容写入文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python分批定量读取文件内容,输出到不同文件中的方法

    一.文件内容的分发 应用场景:分批读取共有358086行内容的txt文件,每取1000条输出到一个文件当中 # coding=utf-8 # 分批读取共有358086行内容的txt文件,每取1000条输出到一个文件当中 txt_path = "E:/torrenthandle.txt" base_path="E:/torrent_distribution/" def distribution( ): f = open(txt_path,"r")

  • python如何将文件a.txt的内容复制到b.txt中

    目录 python将a.txt的内容复制到b.txt 中 python合并多个txt中的内容到一个txt中 总结 python将a.txt的内容复制到b.txt 中 # 1. 用r方式打开a.txt f = open("a.txt","r") # 2. 读取a.txt的内容 buf = f.read() # 3. 关闭a.txt f.close # 4. 用w或者a的方式打开b.txt f = open("b.txt","w"

  • Python实现将字典内容写入json文件

    目录 1.无序字典 2.有序字典 3.一键多值字典 4.写入json 4.1 无缩进 4.2 有缩进 方法补充 Python中有序字典和无序字典,一键多值字典. Python将字典内容写入json文件. 1.无序字典 目前了解三种,在Python中直接默认的是无序字典,这种不会按照你插入的顺序排序,即使你对字典排序后,返回的也是一个list变量,而不是字典,倘若你将这个list字典后,又会变回无序字典. 例子如下: import operator x = {"label": "

  • Python如何获取文件指定行的内容

    linecache, 可以用它方便地获取某一文件某一行的内容.而且它也被 traceback 模块用来获取相关源码信息来展示. 用法很简单: >>> import linecache >>> linecache.getline('/etc/passwd', 4) 'sys:x:3:3:sys:/dev:/bin/sh\n' linecache.getline 第一参数是文件名,第二个参数是行编号.如果文件名不能直接找到的话,会从 sys.path 里找. 如果请求的行数

  • python查找指定具有相同内容文件的方法

    本文实例讲述了python查找指定具有相同内容文件的方法.分享给大家供大家参考.具体如下: python代码用于查找指定具有相同内容的文件,可以同时指定多个目录 调用方式:python doublesdetector.py c:\;d:\;e:\ > doubles.txt # Hello, this script is written in Python - http://www.python.org # doublesdetector.py 1.0p import os, os.path,

  • Python实现修改文件内容的方法分析

    本文实例讲述了Python实现修改文件内容的方法.分享给大家供大家参考,具体如下: 1 替换文件中的一行 1.1 修改原文件 ① 要把文件中的一行Server=192.168.22.22中的IP地址替换掉,因此把整行替换. data = '' with open('zhai.conf', 'r+') as f: for line in f.readlines(): if(line.find('Server') == 0): line = 'Server=%s' % ('192.168.1.1',

  • Python实现将内容写入文件的五种方法总结

    目录 一.write()方法 二.writelines() 方法 三.print() 函数 四.使用 csv 模块 五.使用 json 模块 一.write()方法 使用 write() 方法:使用 open() 函数打开文件,然后使用 write() 方法将内容写入文件.例如: with open('example.txt', 'w') as f: f.write('Hello, world!') open() 函数是 Python 内置的用于打开文件的函数,其常用的参数及其含义如下: 1.f

  • Go读取文件与写入文件的三种方法操作指南

    目录 文件写入操作 Write和WriteString写入操作 使用buffio内置包来读文件 第三种写入文件方法:ioutil.WriteFile 总结 打开和关闭文件操作: os.Open()函数能够打开一个文件,返回一个*File和一个err.对得到的文件实例调用close()方法能够关闭文件. package main import ( "fmt" "os" ) //文件操作 func main(){ //打开文件 file, err := os.Open(

  • 利用Python将list列表写入文件并读取的方法汇总

    目录 1.writelines()直接写入 2.str转化为字符串写入 3.for循环写入 4.使用.join函数修改列表 读取数据 附:还有写csv文件和excel文件的方式 总结 1.writelines()直接写入 l=["A","B","C","D"] f=open("k.txt","w") f.writelines(l) f.close() 该方法写入直接写入列表元素 2.st

  • java写入文件的几种方法分享

    一,FileWritter写入文件 FileWritter, 字符流写入字符到文件.默认情况下,它会使用新的内容取代所有现有的内容,然而,当指定一个true (布尔)值作为FileWritter构造函数的第二个参数,它会保留现有的内容,并追加新内容在文件的末尾. 1. 替换所有现有的内容与新的内容. new FileWriter(file);2. 保留现有的内容和附加在该文件的末尾的新内容. 复制代码 代码如下: new FileWriter(file,true); 追加文件示例 一个文本文件,

  • java中创建、写入文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files.write(Java 7 推荐) PrintWriter File.createNewFile FileOutputStream.write(byte[] b) 管道流 实际上不只这5种,通过管道流的排列组合,其实有更多种,但是笔者总结的这五种可以说是最常用及最佳实践, 前提小知识 以前我在写技术文

  • java中创建写入文件的6种方式详解与源码实例

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files.write(Java 7 推荐) PrintWriter File.createNewFile FileOutputStream.write(byte[] b) 管道流 实际上不只这5种,通过管道流的排列组合,其实有更多种,但是笔者总结的这五种可以说是最常用及最佳实践,前提小知识 以前我在写技术文章

  • python将字典内容写入json文件的实例代码

    python将字典内容写入json文件的方法:我们可以先使用json.dumps()函数将字典转换为字符串:然后再将内容写入json即可.json.dumps()函数负责对数据进行编码. 字典内容写入json时,需要用json.dumps将字典转换为字符串,然后再写入. json也支持格式,通过参数indent可以设置缩进,如果不设置的话,则保存下来会是一行. 举例: 无缩进: from collections import defaultdict, OrderedDict import jso

  • python指定写入文件时的编码格式方法

    实例如下: #encoding=utf-8 content=u"广东松炀再生资源股份有限" content=content.encode("utf-8")#写入的文件编码格式为utf-8 with open("testbianma.txt","w")as f: f.write(content) 以上这篇python指定写入文件时的编码格式方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python读取txt内容写入xls格式excel中的方法

    由于xlwt目前只支持xls格式,至于xlsx格式,后面会继续更新 import xlwt import codecs def Txt_to_Excel(inputTxt,sheetName,start_row,start_col,outputExcel): fr = codecs.open(inputTxt,'r') wb = xlwt.Workbook(encoding = 'utf-8') ws = wb.add_sheet(sheetName) line_number = 0#记录有多少

  • python学习将数据写入文件并保存方法

    python将文件写入文件并保存的方法: 使用python内置的open()函数将文件打开,用write()函数将数据写入文件,最后使用close()函数关闭并保存文件,这样就可以将数据写入文件并保存了. 示例代码如下: file = open("ax.txt", 'w') file.write('hskhfkdsnfdcbdkjs') file.close() 执行结果: 内容扩展: python将字典中的数据保存到文件中 d = {'a':'aaa','b':'bbb'} s =

随机推荐