Python文件写操作(python从头开始写文件)

  今天给大家讲讲如何通过 Python 来写文件。在日常开发中,将数据写入到文件中存储起来非常常见,废话不多说,开干!

  上一节 《Python 如何读取 txt 文件 ?》中,我们说到了通过 open() 函数可以读取文件内容,其实,还可以通过 open() 来写文件。仅需要在调用 open() 的时候额外传个参数即可。

  代码示例如下:

  # 定义需要写入的文件名

  file_name = 'test.txt'

  # 调用 open() 函数时,指定模式为 w, w 是 write 的缩写,表示写模式

  with open('test.txt', 'w') as file:

  # 写入内容

  file.write('第一行数据')

  open() 函数允许我们调用时,指定相关模式:

  r: 只读模式;

  w: 写模式,往文件里面写内容;

  a: 追加模式, 往文件的末尾追加内容;

  r+: 读写模式;

  执行上面的代码,会在工程的目录下创建一个名为 test.txt 的文件,内容如下:

  python写入文件结果

  注意:Python 只能将字符串写入到文本中,对于非字符串类型,你需要通过 str() 函数强转一下。

  接下来,我们尝试写入多行数据:

  # 定义需要写入的文件名

  file_name = 'test.txt'

  # 调用 open() 函数时,指定模式为 w, w 是 write 的缩写,表示写模式

  with open('test.txt', 'w') as file:

  # 写入内容

  file.write('第一行数据')

  file.write('第二行数据')

  执行上面的代码,看下效果:

  python写入多行内容结果

  哎?怎么连在一起了!

  原因是 write() 函数不会主动在文本写入末尾添加换行符,需要我们手动添加:

  file.write('第一行数据 ')

  file.write('第二行数据 ')

  再次执行代码就 ok 了:

  python写入多行内容附加换行符

  我们再调用 open() 函数时,若不指定为追加模式 a, 默认会覆盖原有的内容。修改之前的代码,如下:

  # 定义需要写入的文件名

  file_name = 'test.txt'

  # 调用 open() 函数时,指定模式为追加模式

  with open('test.txt', 'a') as file:

  # 写入内容

  file.write('第三行数据 ')

  file.write('第四行数据 ')

  执行代码,效果如下:

  python写入内容,模式为追加模式

  可以看到,是在之前内容的末尾追加的新内容,而不是覆盖原有内容。

你可能想看:
分享给朋友: