Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用从其他脚本导入函数的.bat运行python脚本_Python_Batch File - Fatal编程技术网

使用从其他脚本导入函数的.bat运行python脚本

使用从其他脚本导入函数的.bat运行python脚本,python,batch-file,Python,Batch File,我正在尝试运行python脚本。该脚本从其他脚本导入函数,在IDE(Spyder)中运行时效果良好,但是当我运行.bat时,会出现无法导入模块的错误 bat先生的发言如下 "D:\Users\User\AppData\Local\Programs\Python\Python38-32\python.exe" "D:\Users\User\Documents\programming\test.py" 我得到以下错误 回溯(最近一次呼叫最后一次): 文件“D

我正在尝试运行python脚本。该脚本从其他脚本导入函数,在IDE(Spyder)中运行时效果良好,但是当我运行.bat时,会出现无法导入模块的错误

bat先生的发言如下

"D:\Users\User\AppData\Local\Programs\Python\Python38-32\python.exe" "D:\Users\User\Documents\programming\test.py"
我得到以下错误

回溯(最近一次呼叫最后一次): 文件“D:\Users\User\Documents\programming\test.py”,第1行,在 从SFTPDownload导入下载sftp ModuleNotFoundError:没有名为“SFTPDownload”的模块

我需要向.bat添加什么才能在SFTPDownload.py中提取我的函数。这与test.py位于同一文件夹中


提前感谢。

如果
SFTPDownload.py
是文件夹
D:\Users\User\Documents\programming\
然后,在运行python脚本之前,必须转到该文件夹

  cd D:\Users\User\Documents\programming\

  D:\Users\User\AppData\Local\Programs\Python\Python38-32\python.exe test.py

系统可能会在不同的文件夹(用作当前工作目录)中运行批处理,然后python脚本会搜索此文件夹中的文件

在Python中,您可以检查
当前工作目录

 print( os.getcwd() )

另见:


在导入
SFTPDownload
之前,最终在python脚本中,您可以将文件夹
D:\Users\User\Documents\programming\
添加到python用于搜索导入文件的特殊列表
sys.path

 import sys

 sys.path.insert(0, r'D:\Users\User\Documents\programming\')

 import SFTPDownload
为了使它更通用(这样当您将
test.py
SFTPDownload.py
移动到不同的文件夹时,它就会工作),您可以尝试

 import sys
 import os

 APP_FOLDER = os.path.abspath(os.path.dirname(__file__))
 #APP_FOLDER = os.path.abspath(os.path.dirname(sys.argv[0]))

 sys.path.insert(0, APP_FOLDER)

 import SFTPDownload

如果
SFTPDownload.py
是文件夹
D:\Users\User\Documents\programming\
中的文件,则在运行python脚本之前,必须转到该文件夹
cd D:\Users\User\Documents\programming\