Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取函数的输出并将其用作另一个函数python的输入?_Python_Mysql - Fatal编程技术网

如何获取函数的输出并将其用作另一个函数python的输入?

如何获取函数的输出并将其用作另一个函数python的输入?,python,mysql,Python,Mysql,更具体地说,我的函数获取我的数据库表中的所有域并返回它们。我想知道如何将这些域输入到另一个函数中,该函数将为该表中的每个域运行Kali Linux工具 例如,我的函数输出以下内容: google.com 雅虎网站 函数如下: def grab_domains(): try: db = pymysql.connect(host="localhost", user="root", passwd="root",

更具体地说,我的函数获取我的数据库表中的所有域并返回它们。我想知道如何将这些域输入到另一个函数中,该函数将为该表中的每个域运行Kali Linux工具

例如,我的函数输出以下内容:

google.com
雅虎网站
函数如下:

def grab_domains():
    try:
        db = pymysql.connect(host="localhost",
                         user="root", passwd="root",
                         db="typosquat")
except ConnectionAbortedError as e:
    print(e, "\n")

temp = ""
cursor = db.cursor()
cursor.execute('SELECT name From domains')
for rows in cursor.fetchall():
    for entries in rows:
        temp += entries
        domains = entries[0:]
        print(domains)

return temp
以下是输出:

def grab_domains():
    try:
        db = pymysql.connect(host="localhost",
                         user="root", passwd="root",
                         db="typosquat")
except ConnectionAbortedError as e:
    print(e, "\n")

temp = ""
cursor = db.cursor()
cursor.execute('SELECT name From domains')
for rows in cursor.fetchall():
    for entries in rows:
        temp += entries
        domains = entries[0:]
        print(domains)

return temp
google.com
雅虎网站

如何编写另一个函数,在每个域上运行脚本?假设所有脚本都位于相同的文件位置

这就是我所拥有的,我不知道如何为每个域运行它,只知道如何为单个输出运行它

def run_urlcrazy():
    np = os.system("urlcrazy " + grab_domains())
    print(np)
    return np
如何让此函数为每个域运行?^^

这是我第一篇关于堆栈溢出的帖子,让我知道我能做些什么来改进它,如果可能的话,帮助我解决这个问题!谢谢

您需要一个循环:

def run_urlcrazy():
    ret_vals = []
    for domain in grab_domains():
        np = os.system("urlcrazy " + domain)
        ret_vals.append(np)
    return ret_vals
我建议使用
for
循环,因为它可以有效地迭代函数返回的任何内容


您还需要对
grab\u domains()
函数做一些小的修改:

temp = []
cursor = db.cursor()
cursor.execute('SELECT name From domains')
for rows in cursor.fetchall():
    for entries in rows:
        domains = entries[0:]
        temp.extend(domains)

return temp
现在,函数返回一个域列表。您可以对此进行迭代。

您需要一个循环:

def run_urlcrazy():
    ret_vals = []
    for domain in grab_domains():
        np = os.system("urlcrazy " + domain)
        ret_vals.append(np)
    return ret_vals
我建议使用
for
循环,因为它可以有效地迭代函数返回的任何内容


您还需要对
grab\u domains()
函数做一些小的修改:

temp = []
cursor = db.cursor()
cursor.execute('SELECT name From domains')
for rows in cursor.fetchall():
    for entries in rows:
        domains = entries[0:]
        temp.extend(domains)

return temp

现在,函数返回一个域列表。您可以重复此操作。

简单地说,为什么不将第一个函数的输出写入一个文件并从第二个脚本读取该文件?简单地说,为什么不将第一个函数的输出写入一个文件并从第二个脚本读取该文件?
grab\u domains()
只返回一个
对吗?@pyjg我建议进行修改。OP似乎在用字符串连接它。是的,这就是问题所在,是用字符串连接的。非常感谢。谢谢,很高兴我能帮上忙。:)
grab_domains()
只返回一个
domain
对吗?@pyjg我建议进行修改。OP似乎在用字符串连接它。是的,这就是问题所在,是用字符串连接的。非常感谢。谢谢,很高兴我能帮上忙。:)