如何在同一目录中导入其他脚本?

时间:2020-08-05 15:30:44

标签: python schedule

我正在尝试安排一些python脚本并在main.py中运行。这些脚本放在同一文件夹中。

main.py

import schedule
import time
from test1 import dd

schedule.every(2).seconds.do(dd,fname)

while True:
    schedule.run_pending()
    time.sleep(1)

test1.py

def dd(fname):
    print('hello' + fname)

dd('Mary')
dd('John')

它用那两个名字和name 'fname' is not defined用完。

如何在main.py文件中定义自变量?如果脚本中有多个def,我是否需要在main.py中多次导入 以及我在main.py顶部导入的脚本,在运行计划之前运行了一次?那意味着它在导入时会运行一个?

2 个答案:

答案 0 :(得分:0)

您没有在main.py中定义您的fname,因此它显示为name 'fname' is not defined。您只从test1.py

将函数导入到main.py中。

这是修改后的代码:
main.py

import schedule
import time
from test1 import dd

fname="Mary"
schedule.every(2).seconds.do(dd,fname)

while True:
    schedule.run_pending()
    time.sleep(1)

test1.py

def dd(fname):
    print('hello' + fname)

如果要输入多个字符串,只需使用列表即可!这是test1.py的示例代码:

def dd(fname:list):
    for n in fname:
        print('hello' + n)

这些代码已使用Python 3.7.7进行了测试

答案 1 :(得分:0)

您的问题是,您正在尝试使用函数参数作为其自身的变量。导入不是这里的问题。

尝试一下:

import schedule
import time
from test1 import dd

schedule.every(2).seconds.do(dd,("Any String",))

while True:
    schedule.run_pending()
    time.sleep(1)