从windows批处理文件在python shell中运行python脚本

2024-09-24 20:32:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从windows上的.bat文件在python shell中运行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

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


Tags: 文件pyecho脚本uiindexwindowsshell
2条回答

第二种方法是正确的

要解决导入问题,应使用不同的方法修复python代码: 在下面的代码中curdir将有脚本所在的文件夹的名称,您可以根据需要进行操作

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

或者可以使用批处理脚本更改工作目录。 勾选How to change current working directory using a batch file

谢谢你的回答

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

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

它正在按预期工作

相关问题 更多 >