Я использую Python для создания сценария для выполнения команд в командной строке. Одна из команд открывает файл. Я хочу записать в конец файла, затем сохранить файл, а затем закрыть файл. Я не знаю, как будет называться файл, он каждый раз разный, и команда запускается 5 или более раз при каждом запуске программы. Команда:
os.system('p4 user -f ' + name)
🤔 А знаете ли вы, что...
В Python есть инструменты для создания графиков и визуализации данных, такие как библиотеки Matplotlib и Seaborn.
Похоже, что на самом деле вы пытаетесь изменить пользовательскую спецификацию Perforce. Это очень просто. Если вы используете P4Python, у вас есть хороший API для объектов спецификации:
https://www.perforce.com/perforce/r14.2/manuals/p4script/python.p4.html#python.p4.save_spectype
и может делать такие вещи, как:
user = p4.get_user(name)
# do things
p4.save_user(user)
Если вы хотите писать скрипт без P4Python, основная командная строка имеет гораздо лучшие варианты, чем попытки написать скрипт в редакторе. Например:
p4 --field Reviews+=//depot/whatever/... user -o NAME | p4 user -i -f
добавит //depot/whatever/...
в нижнюю часть поля NAME
Reviews
.
Или, если вам не нравится опция --field
, вы можете самостоятельно проанализировать и изменить спецификацию:
p4 user -o NAME | **REGEX MAGIC** | p4 user -i -f
Если вы действительно хотите создать сценарий для такой команды, как p4 user
, и не использовать API сценариев или удобные хуки -o
/ -i
/, чтобы избежать вызова редактора с временным файлом (другими словами, если вы скриптовый мазохист, ищущий уникальный Challenge) лучше всего переопределить P4EDITOR
и указать ему на сценарий, который вы написали. Любой исполняемый файл, указанный P4EDITOR
, будет вызван с именем временного файла; измененная спецификация будет загружена (из временного файла), как только P4EDITOR
завершится.