Python无法打开文本文件(错误模式)

时间:2019-04-10 18:36:43

标签: python

我正在使用PIL从大胆处理波形图像。我编写了此代码的一个版本,该版本使用matplotlib绘制了该曲线的傅立叶变换,并且可以正常工作。现在,我正在尝试获取用于在文本文件中进行傅立叶变换的点的坐标,而不是绘制曲线。我正在尝试使用“ a”模式打开一个新文件,该文件应创建一个新文件并写入其中。但是,我得到

  File "D:\Prog\Python\Fourier\fourier text.py", line 78, in <module>
    TXTfr = open('textF.txt','a')
  File "C:\Users\Hugo\AppData\Local\Programs\Python\Python37\lib\site-packages\PIL\Image.py", line 2624, in open
    raise ValueError("bad mode %r" % mode)
ValueError: bad mode 'a'

我尝试使用'w'模式,但仍然无法正常工作。

这是用于编写代码的一部分。我已经用img.close()以上行关闭了图像文件。

TXTfr = open('textF.txt','a')
TXTa = open('textA.txt','a')
TXTfr.write('[')
for i in range(len(fi)):
    TXTfr.write(str(fi[i]))
TXTfr.write(']')

TXTa.write("[")
for i in range(len(sm)):
    TXTa.write(str(fi[sm]))
TXTa.write(']')

感谢阅读并希望有人能够提供帮助。

1 个答案:

答案 0 :(得分:2)

错误消息来自Image.py的事实告诉您,您正在调用的open()不是Python的内置open()函数,而是来自open()的函数。 PIL。 PIL.Image.open()接受的mode描述了一种图像模式,而不是常规文件的模式,因此该功能不是编写常规文件所需要的。

问题是这是怎么发生的?一种方法是,如果您不小心(例如)

from PIL.Image import *

这将用open()替换Python内置的PIL.Image.open()

您应该编辑问题以显示import语句的样子。