这个文章我写了第三遍了,前两边第一次我觉得太麻烦了换了一种方法,结果第二次没成功,找啊找,总算找到了,不需要pywin32模块,而且这个模块是真的辣鸡啊,网上找不到下载的,仅有的几个下载网址根本没速度。
直接使用内置模块ctypes
里面可以调用系统api。
导入模块
import ctypes
- 1
先编写一个COORD,在C语言中可以直接赋值,这里需要一个类
class COORD(ctypes.Structure):
_fields_ = [("X", ctypes.c_short), ("Y", ctypes.c_short)]
def __init__(self,x,y):
self.X = x
self.Y = y
- 1
- 2
- 3
- 4
- 5
然后函数需要两个参数,一个是标准输出句柄,一个是坐标,第一个参数实质上是一个int,STD_OUTPUT_HANDLE的值是-11
获取句柄
STD_OUTPUT_HANDLE= -11
hOut = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
- 1
- 2
调用函数设置坐标
ctypes.windll.kernel32.SetConsoleCursorPosition(hOut,INIT_POS)
- 1
测试一下
INIT_POS=COORD(12,5)
print("ssssssss")
- 1
- 2
在使用之前一定要先清屏,不然会错位,红色圈出来的是我要输出的内容
先清屏在设置坐标,对比一下,差别很大。
import os
os.system("cls");
...
- 1
- 2
- 3