有大量使用用户/pass作为凭据使用p4python连接到p4python服务器的示例,但很少描述如何使用p4ticket。目前尚不清楚如何将p4tickets文件与p4python一起使用。
发布于 2018-01-11 15:07:23
事实证明,绝对文档是非常非常精确的。文档基本上说,如果用户没有登录,那么您必须提供登录密码。另一方面,如果用户登录,则不需要密码。因此,例如,假设用户登录:
>>> p4 -u 'username' login然后,在您的p4python脚本中,以下内容将连接:
p4con = P4.P4()
p4con.user = 'username'
p4.con.connect()p4python连接将自然地使用~/.p4票证文件。
发布于 2020-08-05 14:34:10
要在P4 Python (或P4命令行)中使用票证,您只需将票证放在任何需要密码的位置即可。有了这个问题,P4从哪里获取票子的优先级问题与P4命令行的工作方式不一致。
在P4 Python中:
从命令行运行P4:
示例1-如果票证文件中有条目,这将覆盖第4行p4. p4.password中设置的值和第3行中用户设置的值。如果票证文件中没有条目,它将使用所提供的凭据并更新票证文件,以便在第二次运行脚本时,它将使用该凭据而不是提供的凭据。
from P4 import P4
p4 = P4()
p4.user = user
p4.password = ticket示例2-这将始终使用提供的凭据,因为我们实际上并没有使用真正的文件。
from P4 import P4
p4 = P4()
p4.user = user
p4.password = ticket
p4.ticket_file = '/dev/null'tl;dr -在Perforce要求的任何地方使用该票证以获得密码。如果要在脚本中使用票证,请首先设置ticket_file='/dev/null'以确保预期的行为。
发布于 2022-06-16 07:20:44
run_login():使用用户设置的密码或票证运行p4登录。
from P4 import P4
p4 = P4()
p4.port = "xxx.xxx.xxx.xxx:1666"
p4.user = "xxxxx"
p4.connect()
p4.run_login("-s", p4.user)https://stackoverflow.com/questions/48210143
复制相似问题