從另一個腳本運行一個 python 腳本,其中命令行參數具有可執行文件

開發

我正在嘗試在另一個 python 腳本中運行一個 python 腳本。這將運行 10 次並產生 10 個輸出。

我想跑program1.py進去program2.py現在我program1.py最初在其中包含一個 C 可執行文件,它需要 1 個命令行參數。

program1.py外觀如下所示:

import os
import sys
dataset = sys.argv[1]

os.system(f"/home/Dev/c4.5 -u -f {dataset}")
os.system(f"/home/Dev/c4.5rules -u -f {dataset}")
os.system(f"/home/Dev/c4.5rules -u -f {dataset} > Temp")

f = open('Temp')
# Some code

其中 c4.5 和 c4.5rules 是可執行文件的名稱。為了運行這個我正在使用python3 program1.py dataset_name

現在我想把它放在program1.py裡面program2.py,我正在嘗試以下方法:

import os
import subprocess

# Some code
for track in range(0, 10):
    with open(f'Train_{track}', 'r') as firstfile, open(f'DF_{track}.data', 'w') as secondfile:
        for line in firstfile:
            secondfile.write(line)
    os.system("/home/Dev/program1.py DF_track")
    #subprocess.Popen("/home/Dev/program1.py DF_track", shell=True) 

我只想獲得program1.py10 次的輸出,並希望DF_track用作每個輸出生成的命令行輸入。

使用上述方法我得到了很多錯誤。請幫忙。

編輯_1:

實際上,每當我嘗試運行時,我的光標都不起作用,它凍結了,因此無法複製錯誤。

這裡是其中的一些 :

1. attempt to perform an operation not allowed by security policy.
2. syntax error : word expected (expecting ")")
穆罕默德

想像一下我有 2 個文件,第一個文件是a.py,另一個是b.py,我想調用a.pyfrom b.py.

a.py 的內容是:

print('this is the a.py file')

b.py 的內容是:


import os

stream = os.popen('python3 a.py')
output = stream.read()

print(output)

現在,當我b.py從終端調用時,我得到我期望的輸出是 a.py 打印語句


user@mos ~ % python3 b.py
this is the a.py file

你也可以用subprocess而不是os模塊來做到這一點

這是我在網上找到的一個不錯的博客,我從那裡獲得了代碼:https : //janakiev.com/blog/python-shell-commands/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用命令行參數從 Python 運行 C 可執行文件

如何從另一個 Python 腳本訪問 Python 腳本的動態變量?

使用 nohup 依次運行多個 python 腳本

從 python 運行 shell 打開一個文件

為什麼我不能在 Python 中使用一維數組運行這個邏輯回歸腳本?

在 Python 腳本中獲取命令行參數的最佳方法

如何從 Python 腳本運行 nohup 命令?

在命令行/批處理文件/python 腳本中運行 java 主類

從 CLP 中的另一個腳本調用 sql 腳本

在運行時使用flask從python中的另一個文件動態調用函數

如何安排從anaconda運行的python腳本?

從命令行反彙編 Python 腳本?

當我輸入一個整數時 Python 腳本崩潰

Laravel 8,如何在後台運行一個作業(腳本)?

在bash腳本中一次運行多個循環

從同一個遊戲對像上的另一個腳本訪問變量

加載第一個腳本後如何使腳本執行

通過基於多個單元格值的 App 腳本從另一個 Google Sheet 獲取特定行

通過 Node.js 執行 bash 腳本並包含命令行參數

Python:在終端中運行另一個軟件的命令

如何製作一個用於共享的python腳本?

python 腳本只返回輸出每個頁面的第一個結果而不是全部

將數據從一個 python 文件發送到另一個

從 VS 代碼在 Python IDLE 中運行 python 腳本

Python 運行與我的腳本不同的腳本

在python中從另一個文件調用文本

創建一個執行多個 grep 操作(AND 操作)的 shell 腳本

如何在不發送變量值的情況下從另一個腳本編寫腳本中的變量?

多個 ping 腳本會多次從一個列表中 ping 相同的 ip