我正在使用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(']')
感谢阅读并希望有人能够提供帮助。
答案 0 :(得分:2)
错误消息来自Image.py
的事实告诉您,您正在调用的open()
不是Python的内置open()
函数,而是来自open()
的函数。 PIL
。 PIL.Image.open()接受的mode
描述了一种图像模式,而不是常规文件的模式,因此该功能不是编写常规文件所需要的。
问题是这是怎么发生的?一种方法是,如果您不小心(例如)
from PIL.Image import *
这将用open()
替换Python内置的PIL.Image.open()
。
您应该编辑问题以显示import
语句的样子。