python3一次循环一个具有1个变量的列表

时间:2018-12-05 15:52:26

标签: python python-3.x list

仍在学习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]),则我们移至下一个名称。

提出另一个问题,如何“从函数中调用变量”?

非常感谢!

1 个答案:

答案 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缩进,并在代码中修复其他悬挂的缩进引用