好的做法是打开一个文件进行读取,获取数据,将其关闭然后重新打开以进行写入吗?

时间:2019-09-10 22:35:48

标签: python

所以我正在学习有关在python中从文件读取和写入的知识。我似乎了解,如果您使用“ w”打开一个现有文件进行写入,它将覆盖该文件。所以现在,我正在做这样的事情:

with open('something.json', 'r') as open_file:
    get some stuff

with open('something.json', 'w') as open_file:
    add some stuff

打开和关闭文件两次以进行读写是否正常,还是有一个可选的参数可以让我一次完成所有操作?

2 个答案:

答案 0 :(得分:4)

这取决于您需要执行的操作。如果您需要阅读,最好使用一个with语句完成所有操作。这样,您无需做额外的工作来重新打开文件(例如,将文件描述符加载到内存中)。

根据对<px:PXGrid ID="grid" runat="server" Height="400px" Width="100%" Style="z-index: 100" AllowPaging="True" AllowSearch="True" AdjustPageSize="Auto" DataSourceID="ds" SkinID="Primary" MatrixMode="true"> 语句需要执行的操作,有不同的选择:

  • with open打开供阅读和写作。流位于文件的开头。

  • r+打开以进行读取和追加(在文件末尾写入)。读取的初始文件位置在文件的开头,但输出会附加到文件的末尾(但在某些Unix系统中,无论当前查找位置如何)。

答案 1 :(得分:1)

您的方法是pythonic,我认为这是一个好习惯。

请考虑以下内容

with open('something.json', 'r+') as open_file:
  data =  open_file.read()
  ... computation with the data ...
  output = ...
  open_file.write(output)