Home > Backend Development > Python Tutorial > How to use Python to write content to a file

How to use Python to write content to a file

王林
Release: 2023-06-02 22:26:47
forward
2424 people have browsed it

1. Write() method

Use the write() method: Use the open() function to open the file, and then use the write() method to write the content to the file. For example:

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

open() function is Python’s built-in function for opening files. Its commonly used parameters and their meanings are as follows:

1.file: file name or file path. Can be an absolute path or a relative path. If the path is relative, it is relative to the current working directory. If the path is omitted, the file is opened in the current working directory.

2.mode: File opening mode. Can be one of the following values:

  • 'r': Read-only mode. Default mode, if the file does not exist, an exception will be thrown.

  • 'w': Write mode. If the file does not exist, the file is created. If the file already exists, the file is cleared and new content is written.

  • 'x': Exclusive creation mode. If the file does not exist, the file is created. If the file already exists, an exception is thrown.

  • 'a': append mode. If the file does not exist, the file is created. If the file already exists, add new content to the end of the file.

  • 'b': Binary mode. Use with other modes such as 'rb' or 'wb'.

  • 't': Text mode. Can be used with other modes such as "rt" or "wt".

3.buffering: Set the buffer size. If omitted or 0, no buffering occurs. If 1, rows are buffered. If greater than 1, the buffer size.

4.encoding: The encoding format used to encode and decode file content. If omitted, the default encoding is used.

5.errors: How to handle errors encountered when encoding and decoding file content. Can be one of the following values:

  • 'strict': Default value, which means an exception is thrown when an error is encountered.

  • 'ignore': Ignore errors.

  • 'replace': Replace incorrect characters with '?'.

  • 'backslashreplace': Replace incorrect characters with backslash escapes.

  • 'xmlcharrefreplace': Replace incorrect characters with XML entities.

  • 'namereplace': Replace incorrect characters with \N{...} escapes.

6.newline: Controls the processing of line breaks in text mode. Can be one of the following values:

  • #None: Use the default newline character \n.

  • '': No newline conversion is performed.

  • '\n', '\r', '\r\n', '\u2028', '\u2029': Use the specified newline character.

If set to True, the underlying file descriptor of a file is closed when it is opened. Default is True.

8.opener: Custom function or class used to open files. Default is None.

These parameters can be used in different combinations to meet different operating requirements for files. For example, open('example.txt', 'w') opens a file named example.txt in write mode, or creates a new, empty file if the file does not exist.

2. writelines() method

writelines() method writes a list of strings to a file. For example:

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

writelines() method is the method used to write a list of strings to a file. But you need to pay attention to the following points:

  • writelines() method only accepts a list of strings as parameters. If you want to write a single string, use the write() method.

  • The writelines() method does not automatically add newlines between strings, they need to be added to the string manually.

  • The writelines() method will not add a blank line at the end of the list. If you need to add a blank line to the last line, please manually add an empty string containing a newline character.

  • When using the writelines() method, you must ensure that the parameter passed is a list containing strings. If the parameter is a generator object, it needs to be converted into a list before passing it.

lines = ['line 1\n', 'line 2\n', 'line 3\n']
 
with open('example.txt', 'w') as f:
    f.writelines(lines)
Copy after login

The advanced usage of methods mainly involves writing the data in an iterator object to a file without needing to convert it to a list all at once.. This approach is useful for large datasets because it iterates over the elements one by one, avoiding storing all elements in memory.

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())
Copy after login

In the above code, the generate_lines() function returns an iterator object, which generates strings one by one. Then, pass this iterator object to the writelines() method, which writes the strings in the iterator object to the file one by one.

3. Print() function

You can use the print() function to write content to a file, and you need to specify the file parameter as the open file object. For example:

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

The following are the common parameters of the print() function and their detailed introduction:

The print() function is a built-in function in Python for printing output information to the terminal. The print() function can accept multiple parameters and print them to the terminal.

The following are the common parameters of the print() function and their detailed introduction:

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)
Copy after login

print(string, *args, **kwargs)

  • 一个包含需要输出的信息和格式化占位符的格式化字符串。占位符应该用花括号 {} 包含,同时指明相应数据的类型、宽度、精度等信息来进行填充格式化。

  • *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}")
Copy after login

四、使用 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'])
Copy after login

五、使用 json 模块

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

import json
 
data = {
    'name': 'Alice',
    'age': 25,
    'gender': 'F'
}
 
with open('example.json', 'w') as f:
    json.dump(data, f)
Copy after login

The above is the detailed content of How to use Python to write content to a file. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template