尝试使用 "schedule" 模块自动打开程序,这可能吗? (我正在尝试自动登录我的会议
Trying to use the "schedule" module to automate opening a program is this possible? (Im trying to automatically log into my meeting
import schedule
import os
def start_file():
os.startfile("C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file())
它只是打开了我的缩放应用程序,但没有在正确的时间打开它,它给我错误:
"File "C:\Users\Hate348\PycharmProjects\pythonProject\venv\lib\site-packages\schedule\__init__.py", line 440, in do
self.job_func = functools.partial(job_func, *args, **kwargs)
TypeError: the first argument must be callable"
首先,start_file()
在do()
调用中应该是start_file
:
import schedule
import os
def start_file():
os.startfile(r"C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file)
否则你只调用一次start_file()
,你要求调度库调用那次调用的结果值,即None
,每天9点。调用None
没有意义,因此例外。
其次,必须有一个循环才能使计划的作业实际发生:
import time
...
while True:
schedule.run_pending()
time.sleep(1)
否则脚本将停止而不做任何事情。这是一个非常简单的库,没有任何外部依赖;它不使用操作系统的任务调度程序或类似的东西,因此脚本必须保持 运行 才能工作。
所以,总共:
import os
import schedule
import time
def start_file():
os.startfile(r"C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file)
while True:
schedule.run_pending()
time.sleep(1)
如果不需要任务开始9:00:00整,刚好在9:00左右,也可以延长睡眠到一分钟,节省一点[=45] =]:
while True:
schedule.run_pending()
time.sleep(60)
此外,我在 "C:\python\Zoom.lnk"
字符串之前添加了 r
。不是因为它在这个特定示例中不起作用(它确实如此),但通常,如果没有 r
,\
将是字符串中的转义字符,并且在 [=23 之后有其他字符=],例如n
,你会得到不需要的结果。对于 r
,\
字符按字面意思处理,从不作为转义字符。这就是你想要的文件名中的反斜杠,尤其是 Windows.
import schedule
import os
def start_file():
os.startfile("C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file())
它只是打开了我的缩放应用程序,但没有在正确的时间打开它,它给我错误:
"File "C:\Users\Hate348\PycharmProjects\pythonProject\venv\lib\site-packages\schedule\__init__.py", line 440, in do
self.job_func = functools.partial(job_func, *args, **kwargs)
TypeError: the first argument must be callable"
首先,start_file()
在do()
调用中应该是start_file
:
import schedule
import os
def start_file():
os.startfile(r"C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file)
否则你只调用一次start_file()
,你要求调度库调用那次调用的结果值,即None
,每天9点。调用None
没有意义,因此例外。
其次,必须有一个循环才能使计划的作业实际发生:
import time
...
while True:
schedule.run_pending()
time.sleep(1)
否则脚本将停止而不做任何事情。这是一个非常简单的库,没有任何外部依赖;它不使用操作系统的任务调度程序或类似的东西,因此脚本必须保持 运行 才能工作。
所以,总共:
import os
import schedule
import time
def start_file():
os.startfile(r"C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file)
while True:
schedule.run_pending()
time.sleep(1)
如果不需要任务开始9:00:00整,刚好在9:00左右,也可以延长睡眠到一分钟,节省一点[=45] =]:
while True:
schedule.run_pending()
time.sleep(60)
此外,我在 "C:\python\Zoom.lnk"
字符串之前添加了 r
。不是因为它在这个特定示例中不起作用(它确实如此),但通常,如果没有 r
,\
将是字符串中的转义字符,并且在 [=23 之后有其他字符=],例如n
,你会得到不需要的结果。对于 r
,\
字符按字面意思处理,从不作为转义字符。这就是你想要的文件名中的反斜杠,尤其是 Windows.