У меня есть команда интерфейса командной строки, которые исполняются с помощью командной строки Windows. Есть несколько команд, которые я использовал для извлечения файлы из репозитория CVS с помощью командной строки. Теперь я хочу выполнить эти команды с помощью скрипта python. Я выяснил, что мне нужно использовать подпроцесс inorder для взаимодействия с командной строкой с помощью скрипта python. Я пытаюсь запустить часть кода ниже для извлечения файлов из репозитория CVS с помощью HEAD. Когда я пытаюсь выполнить эти команды непосредственно из командной строки, они выполняются правильно. Я вижу, что он создает локальную рабочую область, и он правильно извлекает файлы. Но когда я выполняю python, он не выполняет никаких действий. Мне нужна ваша помощь. Я также хочу получать файлы с помощью тега.Извлечение файлов из репозитория CVS путем выполнения строки команд Windows из сценария python на основе ввода, указанного пользователем
import os
import sys
import subprocess
Current_Working_Directory=os.getcwd()
print "Current_Working_Directory",Current_Working_Directory
cmd = ['cvs',
'-d:::pserver:<username>@<computername>:<repository>
'login']
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
output=p.communicate()
print "p",p
cmd1=['set','CVSROOT','=','pserver:<username>@<computername>:<repository>']
p1 = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
print p1
cmd2=['cvs','co','-r','HEAD','Test']
p2 = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
print p2
На самом деле, если я пытаюсь запустить код выше. Он не извлекает файлы из репозитория CVS, тогда как если он пытается запустить эти команды в командной строке, файлы извлекаются правильно, и я могу видеть эти файлы в своей локальной рабочей области. Как я могу получить файлы с помощью скрипта python? – user1681102
Что вы сделали для отладки проблемы? Какой результат дает CVS? – Mort
Теперь я изменил свой подход. Вместо выполнения интерфейсов командной строки непосредственно с помощью скрипта python. Я создал командный файл, который имеет все команды, которые извлекают файлы из репозитория CVS, и я пытаюсь вызвать этот файл bat из моего сценария python. Это работал на меня !! – user1681102