You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码通过任务计划程序运行时如何访问同目录下的子文件夹

问题根因

报错的核心原因有两个:

  1. 代码使用了相对路径,任务计划程序运行时默认工作目录是系统临时文件夹,不是脚本所在目录,所以无法识别相对路径下的sheets文件夹
  2. 若你使用了映射的网络盘符,任务计划在非用户登录会话下运行时不会加载用户的盘符映射,因此无法访问共享路径
解决方案

1. 代码层面改用UNC绝对路径访问共享目录

直接使用完整的网络共享路径,不要用相对路径也不要用映射盘符,从根源避免路径识别问题,同时增加空列表判断,避免直接调用max抛错。修改后的代码参考:

import glob
import os
import pathlib

# 直接指定共享目录的完整UNC路径,不要用相对路径或映射盘符
ROOT_DIR = r"\\192.168.1.119\Work\exporttoact"
list_of_files = glob.glob(os.path.join(ROOT_DIR, 'sheets/**/*.xlsx'), recursive=True)

# 先判断列表是否为空,避免异常
if not list_of_files:
    # 可在此处增加日志输出,方便后续排查问题
    raise FileNotFoundError("未找到匹配的xlsx文件,请检查路径配置或共享目录权限")
latest_file = max(list_of_files, key=os.path.getctime)
filelocation = pathlib.Path(ROOT_DIR).resolve()

2. 任务计划程序配置调整

  • 运行账户选择你平时手动执行脚本时用的用户账户,不要使用SYSTEM等内置系统账户,这类账户默认没有局域网共享路径的访问权限
  • 如果勾选了「不管用户是否登录都要运行」选项,必须勾选「存储密码,以便用户登录时可访问网络资源」选项,同时保证该账户对\\192.168.1.119\Work\exporttoact共享目录有可读权限
  • 编辑任务的「操作」项,在「起始于(可选)」输入框中填写脚本所在的目录路径:\\192.168.1.119\Work\exporttoact,确保脚本运行时的工作目录正确

3. 网络映射冲突解决

不需要额外用NET USE做盘符映射,直接用UNC路径访问即可完全规避重复映射的问题。如果必须要用映射盘符,可以在NET USE命令前增加盘符存在判断,同时指定/persistent:no参数,脚本运行完成后自动卸载映射,避免和用户已有的映射冲突。

内容的提问来源于stack exchange,提问作者Djavul Kai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:54:05