将数据保存在json文件中,而不会覆盖python中的现有文件

时间:2019-01-21 05:15:38

标签: arrays json python-3.x

我需要在json文件中添加数据而不会覆盖。

正在使用的代码是:

<div class="table-wrap">
<table id="arOpenItemDetail_save" border="0" cellspacing="1" cellpadding="1"  class="table-Y" name="detail">
    <THEAD style="display:table-header-group;font-weight:bold" name="detailHeader">
    <tr>
        <th>Cust#</th>
        <th width="20">Order Type</th>
        <th>Order No</th>
        <th>Doc Terms</th>
        <th>Doc Date</th>
        <th>Due Date</th>
        <th>Days PastDue</th>
        <th>Doc Amount</th>
        <th>Current</th>
        <th>1~30</th>
        <th>30+</th>
        <th>Ref</th>
        <th>Ref2</th>
        <th>Reason Code</th></tr>
    </THEAD>
    <span th:each="detail:${list}">
        <tr class="odd">
            <td align="right" width="20" th:text="${detail.custNo}">1</td>
            <td align="center" width="20" th:text="${detail.custNo}">1</td>
            <td align="right"    th:text="${detail.custNo}">1</td>
            <td align="center" th:text="${detail.custNo}">1</td>
            <td align="right"   th:text="${detail.custNo}">1</td>
            <td align="right"   th:text="${detail.custNo}">1</td>
            <td align="right"   th:text="${detail.custNo}"></td>
            <td align="right"   th:text="${detail.custNo}"></td>

            <td align="right"   th:text="${detail.custNo}"></td>
            <td align="right"   th:text="${detail.custNo}"></td>
            <td align="right"   th:text="${detail.custNo}"></td>
            <td align="left"   th:text="${detail.custNo}"></td>
            <td align="left"   th:text="${detail.custNo}"></td>
            <td align="left" th:text="${detail.custNo}"></td>
        </tr>
    </span>
</table>
</div> 

这个有效的文件。但是,在第二次运行此代码时,它会覆盖文本文件中的现有值。请帮助我解决此代码

2 个答案:

答案 0 :(得分:2)

如果您希望在每次运行此代码时都将数据追加到文件中,则需要使用追加模式。

您的代码:

with open('x.txt','w')as outfile:

应该是

with open('x.txt','a')as outfile:

'w'模式(或写入模式)将导致您覆盖文件,而'a'模式(或附加模式)将使您将数据附加到文件。

在此了解有关此内容的更多信息: https://www.w3schools.com/python/python_file_write.asp

答案 1 :(得分:0)

您想要的是在“追加”模式下写入文件。

这将解决您的覆盖问题。使用write方法。

with open("x.txt", "a") as outfile:
    outfile.write("new text")