我正在尝试安排一些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
顶部导入的脚本,在运行计划之前运行了一次?那意味着它在导入时会运行一个?
答案 0 :(得分:0)
您没有在main.py中定义您的fname,因此它显示为name 'fname' is not defined
。您只从test1.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)