Python中如何正确读写文件?请教一个常见问题

请问下 为什么我没换行,下引号总是会自动换行,代码如下 with open("1.txt","r") as a: with open("2.txt", "a") as f: while True: line = a.readline() if line: name = "or"+" "+"nickname =" + """ + line + """ print(name) break f.write(name) else: break f.close() a.close()

输出的结果如下 下引号总是会自动换行, or nickname ="��ѩ�� "


Python中如何正确读写文件?请教一个常见问题

2 回复

在Python里读写文件,最稳妥的方式是用 with 语句。它能自动处理文件的打开和关闭,即使中间出错了文件也能正确关闭,避免资源泄露。

读文件:

# 读取整个文件内容
with open('example.txt', 'r', encoding='utf-8') as f:
    content = f.read()
    print(content)

# 逐行读取
with open('example.txt', 'r', encoding='utf-8') as f:
    for line in f:
        print(line.strip())  # strip()去掉换行符

# 读取所有行到列表
with open('example.txt', 'r', encoding='utf-8') as f:
    lines = f.readlines()

写文件:

# 覆盖写入
with open('output.txt', 'w', encoding='utf-8') as f:
    f.write('Hello, World!\n')
    f.write('这是第二行\n')

# 追加写入
with open('output.txt', 'a', encoding='utf-8') as f:
    f.write('这是追加的内容\n')

关键点:

  1. open() 的第一个参数是文件路径
  2. 第二个参数是模式:
    • 'r':读取(默认)
    • 'w':写入(会覆盖原有内容)
    • 'a':追加
    • 'r+':读写
  3. 一定要指定 encoding 参数,特别是处理中文时,用 'utf-8' 最通用
  4. with 语句确保文件正确关闭

常见坑:

  • 'w' 模式打开已存在的文件会清空原内容
  • 文件路径要用正确斜杠(Windows用\\/
  • 处理完文件对象后不要手动调用 close()with 语句会处理

二进制文件: 处理图片、视频等二进制文件时,用 'rb''wb' 模式:

# 复制图片
with open('input.jpg', 'rb') as src, open('copy.jpg', 'wb') as dst:
    dst.write(src.read())

记住:用 with 语句 + 指定编码,能解决大部分文件读写问题。

总结:总是使用 with 语句来管理文件。


print 默认换行的 想不换行的话 这样 print(‘ your str ’,end=‘’)就可以了

回到顶部