Python - 任务调度器 0x1

5 投票
6 回答
7841 浏览
提问于 2025-04-18 01:03

我在安排一个Python脚本(C:\Python27\test.py)时遇到了很大的麻烦,这个脚本的代码如下:

import xlrd
import csv
with xlrd.open_workbook('Z:/somefile.xls') as wb:
        sh = wb.sheet_by_index(3)
        with open('Z:/somefile.csv', 'wb') as f:
                c = csv.writer(f)
                for r in range(sh.nrows):
                    c.writerow(sh.row_values(r))

这个脚本的目的是把“somefile.xls”中的第三个工作表保存成一个自己的.csv文件。当我在Python Shell中手动运行它时,一切正常。

Z:\是一个映射的驱动器,位于一个完全不同的服务器上。

但是当我尝试通过任务调度器运行它时,总是得到0x1的结果代码。我设置任务时是这样的:

  • 无论用户是否登录都运行 - 不存储密码
  • 以最高权限运行
  • 程序/脚本:python.exe
  • 添加参数(可选): "test.py"
  • 起始位置(可选):C:\Python27

我看了很多帖子,大家给了不同的建议,但没有一个能解决我的问题。

有没有人遇到过这种情况?

杰夫

6 个回答

0

我在尝试以其他用户的权限运行时遇到了类似的问题。最后,我用“另一个用户”的账号登录到服务器,发现那个用户的Python模块缺失了。

我用那个用户在命令行中运行了.py脚本,并通过pip为那个用户安装了所有缺失的模块。

然后一切都开始正常工作了。

0

我也遇到过同样的问题: 问题出在路径中有空格。 比如说: "C:/python/pythonw.exe" "E:\python\Sales prog\sales prog111.py" 我做了这样的修改: "C:/python/pythonw.exe" "E:\python\Salesprog\salesprog111.py" 这样就解决了。

1

我也遇到过同样的问题,试了上面所有的方法,但都没用。

我的设置是这样的:

  • 程序/脚本: python.exe
  • 添加参数(可选): D:\test.py
  • 启动位置(可选): C:\Python37\

最后,我发现是因为我在我的Python脚本中读取文件时出错了。

pd.read_excel("./xlsx/XXX.xlsx")

我原以为它会直接指向 "D:/xlsx/XXX.xlsx",但实际上并没有。我在我的脚本中修改了代码:

pd.read_excel("D:/xlsx/XXX.xlsx")

然后就成功了。

1

我也遇到过同样的问题,也许你可以试试下面的设置:

  • 程序/脚本:C:\Python27\python.exe(程序的完整路径)
  • 添加参数(可选):test.py(要运行的文件名)
  • 起始位置(可选):C:\Python27(文件所在文件夹的完整路径)

这个设置对我有效。希望能帮到你。

8

几周前我遇到了这个问题,任务调度器真让人头疼!

不管是什么原因,我一直无法让脚本在选择“无论用户是否登录都运行”这个选项时正常运行。我和IT部门打了大约10个小时的电话,试图搞明白这个问题。结果发现这是做不到的。如果取消勾选这个选项,你的脚本就可以正常运行了。

撰写回答