簡體   English   中英

我正確使用python的subprocess.call嗎?

[英]Am I using python's subprocess.call correctly?

我正在嘗試從Python代碼中創建一系列tar文件。 作為一種做法,我有一個子目錄 - 'O',它包含我想要tar的文件。 當我嘗試打字時

tar -cf O.tar ./O

從命令行,事情工作。 但是,當我進入Python解釋器並輸入時

import subprocess
subprocess.call(["tar","-cf O.tar ./O"])

我收到以下錯誤:

tar: Cowardly refusing to create an empty archive

這有意義嗎? 我試過了

import os
os.listdir(".")

為了確保我仍然可以在Python shell中看到我的“O”子目錄,我可以。

我在這里錯過了什么?

也許。

import subprocess
subprocess.call(["tar","-cf", "O.tar", "./O"])

它會運行:

import subprocess
import sys
proc = subprocess.Popen(["tar","-cf O.tar ./O"],stdin=subprocess.PIPE)
proc.communicate()

如果你可以執行一些其他命令或程序使用sys.executeable()

暫無
暫無

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

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