当从python调用时,脚本的输出与从bash调用时不同

2024-06-16 11:09:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个工具,以便用户能够接收perforce上新版本的变更日志。
具有特定权限的用户必须登录才能下载这些日志。我需要获取p4登录命令运行时返回的p4 OAuth URL。 这就是bash中的代码

p4 set P4PORT=ssl:XXXXXXXX
p4 set P4USER=XXXXXXXXX
p4 login > XXXXXXXX/temp/url.txt 2>&1 &

而且效果很好。url已打印在url.txt文件中。
我使用python将这个脚本作为模板加载,并编写了一个新文件,其中有一些更改,这里有一个数字,那里有一个名称。然后我调用这个脚本,然后从文件中读取url,但是当我使用

subprocess.run(['bash','XXXXXXXXXX/load_credentals.sh'])

已创建url.txt文件,但该文件为空。
出于隐私原因,我屏蔽了文件路径和ssh域名


Tags: 文件工具用户命令版本txt脚本bash
1条回答
网友
1楼 · 发布于 2024-06-16 11:09:40

加载和编辑模板时,我忘记在构建新文件时添加新行。
我在做什么

with open('filename') as file:
    file.write('blah')

而不是

with open('filename') as file:
    file.write('blah \n')

相关问题 更多 >