我有一个工作的python脚本,它作为一个系统服务工作,除非我通过configparser()-〉(代码=exited,状态=1/FAILURE)从配置文件中读取
config = configparser.ConfigParser() config.read(configfile) csvfile = config.get('Oled-config', 'csvpath2')
当我运行这个脚本时,在cmd行包含上面的代码,它按预期工作,但作为服务运行时出现错误。
yyyllmsg1#
问题可能与“configfile”有关。当您运行服务时,它在“C:\Windows\system32”中运行,因此如果您没有绝对路径,则必须在其中存储配置文件。如果您使用动态路径,则用户路径为“C:\Windows\System32\config\systemprofile”而不是“C:\Users\YourUser”。如果您不确定当前工作路径,则可以添加以下行:
import os import logging logging.basicConfig(filename=r"Path\to\your\Log.log", level=logging.INFO) logging.info(os.getcwd())
这将在存储当前工作目录的选定路径中保存日志文件。如果您确定问题与configparser有关,我还建议您添加一个“try...except”来启动服务,并在except中添加一个日志写入,以便您可以捕获错误
1条答案
按热度按时间yyyllmsg1#
问题可能与“configfile”有关。当您运行服务时,它在“C:\Windows\system32”中运行,因此如果您没有绝对路径,则必须在其中存储配置文件。如果您使用动态路径,则用户路径为“C:\Windows\System32\config\systemprofile”而不是“C:\Users\YourUser”。如果您不确定当前工作路径,则可以添加以下行:
这将在存储当前工作目录的选定路径中保存日志文件。
如果您确定问题与configparser有关,我还建议您添加一个“try...except”来启动服务,并在except中添加一个日志写入,以便您可以捕获错误