从 Windows 任务计划程序运行 Master py 文件

问题描述 投票:0回答:1

我有一个名为“master”的 python 文件,旨在执行位于名为“py”的文件夹中的几个函数。在“py”中分配的函数之一写入输出如下:

def say_hello():  

    #Import
    from datetime import datetime    

    #Output file
    file_path = r"C:\Users\jquinta\Documents\output2.txt"  

    #Time
    now = datetime.now()
    current_time = now.strftime("%d/%m/%Y %H:%M:%S") 

    with open(file_path, "w") as f:
    f.write(f"hello world ({current_time})")

主py文件运行为:

#Base packages
import sys
import os 
import os.path

#Read functions
os.chdir(r"C:\Users\jquinta\Documents\project")
sys.path.append('py')

#Importing functions
from say_hello import say_hello

say_hello()

#Import
from datetime import datetime    
    
#Output file
file_path = r"C:\Users\jquinta\Documents\output1.txt"  
    
#Time
now = datetime.now()
current_time = now.strftime("%d/%m/%Y %H:%M:%S") 
    
with open(file_path, "w") as f:
      f.write(f"hello world ({current_time})")    

注意所有辅助功能都位于“项目”内的子文件夹“py”中。当我通过 Spyder 运行 master 时,output1 和 output2 都按照代码中的要求编写。但是,如果我通过 Windows 任务计划安排任务,则只写入 output1。似乎通过任务计划,主文件无法运行辅助功能。有什么想法吗?

python function task scheduled-tasks python-os
1个回答
0
投票

在我看来,检查两件事,也许它会帮助解决你的问题。首先,通过 Windows Task Schedule 调度主文件时,工作目录可能没有设置正确的路径,Python 解释器可能无法找到 py 文件夹和所需的模块。 其次,问题可能与代码中使用相对路径有关。从不同位置或通过不同用户帐户运行脚本时,可能无法正确解析路径。为避免这种情况,您可以在代码中定义文件路径时使用绝对路径而不是相对路径。

© www.soinside.com 2019 - 2024. All rights reserved.