Запуск командной строки из Python для генерации штрих-кода - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь сгенерировать штрих-код, используя Zint Barcode Studio через командную строку.Используя cmd.exe из Windows, я могу сделать это, используя следующий код:

F:\Zint>zint -o .\qr\datamatrix.png -b 20 --notext -d "Data to encode"

Как я могу запустить эту команду из python ??

Я пробовал это, но не повезло

from subprocess import call

dir1=r'F:\Zint\zint.exe'

cmd1='zint -o .\qr\datamatrix.png -b 20 --notext -d "Data to encode"'
rc=call(cmd1,cwd=dir1)

Пожалуйста, помогите мне запустить эту команду из python

1 Ответ

0 голосов
/ 11 июня 2018

С помощью subprocess.call () вы вводите команду в виде списка:

cmd1 = ['zint' '-o', '.\qr\datamatrix.png', '-b', '20', '--notext', '-d', 'data_to_encode_goes_here']

Обратите внимание, что в последней версии Python subprocess.run () является новым стандартом (Я не вижу, указана ваша версия).Он также принимает список в качестве команды, а не строку.

import os
import subprocess
out_dir = os.path.join(os.getcwd(), 'qr')
if not os.path.exists(out_dir):
    os.makedirs(out_dir)
out_file = os.path.join(out_dir, 'datamatrix.png')
cmd1 = ['zint' '-o', out_file, '-b', '20', '--notext', '-d', '"data_to_encode_goes_here"']
rc = subprocess.call(cmd1)

Попробуйте что-то подобное

...