Python 将坐标写入.txt文件,以便将来在程序中使用
我创建了一段代码,在单击“显示单击位置的坐标”后,我的问题是将此内容附加到名为coord.txt的txt文件中。代码是:Python 将坐标写入.txt文件,以便将来在程序中使用,python,file,Python,File,我创建了一段代码,在单击“显示单击位置的坐标”后,我的问题是将此内容附加到名为coord.txt的txt文件中。代码是: from pynput import mouse def on_click(x, y, button, pressed): c=open("coord.txt", "w+") if button == mouse.Button.left: print(x, y) c.write(x)
from pynput import mouse
def on_click(x, y, button, pressed):
c=open("coord.txt", "w+")
if button == mouse.Button.left:
print(x, y)
c.write(x)
c.write(y)
return False
c.flush()
listener = mouse.Listener(on_click=on_click)
listener.start()
listener.join()
错误是:
TypeError: write() argument must be str, not int
但我试着什么也帮不上忙。将来,我希望将此def与pyqt5 gui中的所有ToolButton配对,如下所示:
错误消息显示要转换
字符串中的int
值。将您的write(x)
替换为write(str(x))
。对其他写入操作执行相同操作。您需要将x
和y
转换为字符串才能写入它们
此外,您应该用分隔符分隔它们,否则当您试图读回它们时,您只会得到一个数字
def on_click(x, y, button, pressed):
with open("coord.txt", "w") as c:
if button == mouse.Button.left:
print(x, y)
c.write(str(x) + "\n")
c.write(str(y) + "\n")
return False
在打开模式下,无需使用+
修饰符。您只是在写入文件,而不是从中读取。如错误所述,您的x和y是整数。通过使用以下方法验证这一点:
打印(类型(x)、类型(y))
在传入变量之前,将两个变量转换为字符串
str(x)和str(y)
您尝试了什么?它应该很简单,只需将x
和y
转换为字符串,然后再将它们传递给c.write
。您的应用程序中还没有解决这个问题吗?