Python 将坐标写入.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)

我创建了一段代码,在单击“显示单击位置的坐标”后,我的问题是将此内容附加到名为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)
        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
。您的应用程序中还没有解决这个问题吗?