更改文本文档的值时遇到问题

时间:2019-02-18 04:56:35

标签: python-3.x

我正在尝试打开一个名为“ rows.txt”的文件,并在每次运行代码时将其值更改为+ 1。

exel_rows = open("Rows.txt", "r")

  exel_rows = exel_rows + 1

  exel_rows = str(exel_rows)

  saveFile = open('Rows.txt', 'w')
  saveFile.write(exel_rows)
  saveFile.close()

错误代码是:

Traceback (most recent call last):
  File "C:\Users\Fletcher\Desktop\Bank.py", line 158, in <module>
    exel_rows = exel_rows + 1
TypeError: unsupported operand type(s) for +: '_io.TextIOWrapper' and 'int'

4 个答案:

答案 0 :(得分:0)

我认为您正在为字符串添加数字。因此,请尝试以下代码,int()将字符串转换为整数。

还必须使用.read()来读取文件数据并将其存储在可变内容中。

  exel_rows = open("Rows.txt", "r")
  exel_rows = exel_rows.read();
  exel_rows = int(exel_rows) + 1
  exel_rows = str(exel_rows)
  saveFile = open('Rows.txt', 'w')
  saveFile.write(exel_rows)
  saveFile.close()

答案 1 :(得分:0)

在添加数字之前,您应该阅读文件内容:

更改:

exel_rows = open("Rows.txt", "r")
exel_rows = exel_rows + 1

收件人:

exel_rows = open("Rows.txt", "r").read()
exel_rows = int(exel_rows) + 1

答案 2 :(得分:0)

错误消息告诉您出了什么问题:

  1. exel_rows的类型为_io.TextIOWrapper
  2. 1的类型为int
  3. 这两种类型之间不支持使用+运算符进行加法。

open函数的作用是返回文件对象。您需要先read从文件中获取数据。

file = open("Rows.txt", "r")
exel_rows = file.read()  # read the data from the file

print(exel_rows) # print the contents (for debugging purposes and whatnot)

exel_rows = int(exel_rows) + 1

# continue as normal

答案 3 :(得分:0)

假设文件名是<script src="https://code.highcharts.com/highcharts.js"></script> <script src="https://code.highcharts.com/modules/exporting.js"></script> <script src="https://code.highcharts.com/modules/export-data.js"></script> <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>,其中包含一个数据类型为temp.txt的值,可以将其转换为str,则可以执行以下操作:

int