仍在学习python,因此如果这个问题草率,我深表歉意。
我熟悉循环和循环遍历文件。但是,我没有找到正确的参考来循环文件,存储变量并将该变量调用到另一个函数中并保持增量。
使用pyautogui和pywinauto。
书面形式:
get names.txt file with list of 20 or so names (the list changes so keeping track of line count seems reasonable)
Split the text of the file for parsing.
例如:
name.txt文件的设置。
Mark
James
Sam
Steve
。
def do(name):
# open and read file
fname = 'names.txt'
for name in (open(fname, "r")).readlines():
print("Found: " + name)
more(name)
输出: ['Mark','James','Sam','Steve]
def more(name):
pyautogui.moveT0(600,511)
pyautogui.click()
pyautogui.typewrite(a[0])
pyautogui.moveTo(699,412)
pyautogui.press("enter")
confirm(name)
def confirm(name)
pic = pyscreenshot.grab(bbox=(8,11,211,728))
f = "images/active"
g = "images/go"
pic.save(f + a + ".png")
pic.save(g + ".png")
b = Image.open("images/go.png"
text = image_to_search(b, lang='eng')
if text == name:
print("Success")
else:
print("Mismatch")
这是函数将结束并在程序顶部重新开始的部分,增加我们的数字并应用下一个名称进行搜索。确认程序(已完成)拍摄搜索字段的图像并传递文本。如果名称等于列表中的名称(a [0]),则我们移至下一个名称。
提出另一个问题,如何“从函数中调用变量”?
非常感谢!
答案 0 :(得分:0)
首先,您的代码充斥着缩进,句法和逻辑错误,您必须在应用以下代码之前先进行修正
def file_stuff(a, fname):
for name in (open(fname, "r")).readlines():
print ("Found: " + name)
gui_stuff(name)
def gui_stuff(name):
pyautogui.moveT0(600,511)
pyautogui.click()
pyautogui.typewrite(name) # ATTENTION, please confirm if this is how the typewriter fn works. you are only printing the first char
pyautogui.moveTo(699,412)
pyautogui.press("enter")
confirm(name)
请在您的确认函数中修复if-else缩进,并在代码中修复其他悬挂的缩进引用