簡體   English   中英

如何將我的 python function go 設置為特定文件夾路徑並運行命令行

[英]How to make my python function go to a specific folder path and run a command line

我正在嘗試自動化我的構建過程。 通常我所做的是將 go 轉到我的 make 腳本所在的某個文件夾,打開 CMD,鍵入類似於“Bootstrap_make.bat /fic = Foo”的命令

現在我想從我的 python 代碼中執行此操作。 簡單的問題是如何做到這一點,即如何; 使用 python 代碼。 go 到某個路徑 > 並打開一個 CMD > 並執行命令”

這是我嘗試過的

def myClick():
subprocess.run(["cd ..\Projects\ADAS\proj11\embedded_env\make_scripts" ])
subprocess.run(["bootstrap_make.bat","/fic= my_software_variant"])

但是我 git 這個錯誤:

Traceback(最近一次調用最后一次):文件“C:\Users\aelkhate\AppData\Local\Programs\Python\Python310\lib\ tkinter_init _.py”,第 1921 行,調用中返回 self.func(*args) 文件“C:\E\ProductOne_Builder1.py”,第 5 行,在 myClick subprocess.run(["cd..\Projects\ADAS\proj11\embedded_env\make_scripts" ]) 文件“C:\Users\aelkhate\AppData\Local \Programs\Python\Python310\lib\subprocess.py”,第 501 行,以 Popen(*popenargs, **kwargs) 作為進程運行:文件“C:\Users\aelkhate\AppData\Local\Programs\Python\Python310 \lib\subprocess.py",第 966 行,在init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\aelkhate\AppData\Local\Programs\Python\Python310\lib\subprocess.py" , 第 1435 行, 在 _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 系統找不到指定的文件

您可以使用os.system() https://docs.python.org/3/library/os.html

此代碼假設您在 Windows 上,因為您正在運行.bat文件並嘗試打開 CMD window。

import os

directory = './path/to/make/scripts'
buildCommand = './Bootstrap_make.bat'
buildArgs = '/fic = Foo'
# if you don't want a new cmd window you could do something like:
os.system('cd {} && {} {}'.format(directory, buildCommand, buildArgs))

# if you want a new cmd window you could do something like:
os.system('cd {} && start "" "{}" {}'.format(directory, buildCommand, buildArgs))

您可以使用subprocess.run ,指定cwd (當前工作目錄)kwarg。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM