繁体   English   中英

在 python shell 从 Z0F4137ED1502B5045D6083AA258B 文件5C42Z 中运行 python 脚本

[英]Running python script in python shell from a windows batch file

我正在尝试在 python shell 中的 Z0F4137Z.6850425CAA2 上的 a.bat 文件中运行 python 脚本“index.py” 我尝试了第一个脚本,但它只会在 Python UI 中打开我的脚本而不运行它:

@echo off
set IDLEDIR=C:\Users\myusername\AppData\Local\Programs\Python\Python39\Lib\idlelib\
set FILEDIR=D:\myfolder\
start "IDLE" "%IDLEDIR%..\..\pythonw.exe" "%IDLEDIR%idle.pyw" %FILEDIR%index.py
pause

我尝试了第二个脚本,但我的 python 脚本中的 os.listdir(relativefolder/) 存在问题,好像相对文件夹不是从脚本位置计算的,而是从 .bat 文件位置计算的

@echo off
set FILEDIR=D:\myfolder\
python "%FILEDIR%index.py"
pause

你能帮我找出如何解决这个问题吗?

第二种方法是正确的。

要解决导入问题,您应该使用不同的方法修复您的 python 代码:在以下代码中, curdir将具有您的脚本所在文件夹的名称,您可以对其进行操作以执行您想要的操作。

import sys
import os
curdir = os.path.dirname(__file__)

或者您可以使用批处理脚本更改工作目录。 检查如何使用批处理文件更改当前工作目录

感谢您的回答 !

我的最终目标是同时执行多个脚本,所以感谢您的回答,我将代码更改为:

@echo off
set FILEDIR=D:\myfolder\
for /d %%i in (%FILEDIR%*) do ( 
    CD /D "%%i"
    start /B python "index.py"
) 
pause

它按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM