P4Python 运行 方法不适用于空文件夹
P4Python run method does not work on empty folder
我想在 Perforce depot 中搜索文件。
我从 python 脚本执行此操作并使用 p4python
库命令:
list = p4.run("files", "//mypath/myfolder/*")
只要 myfolder
包含一些文件,它就可以正常工作。我得到 python list
作为 return 值。但是当 myfolder
中没有文件时,程序会停止 运行 并且不会显示任何错误消息。我的目标是得到一个空的 python list
,这样我就可以看到这个文件夹不包含任何文件。
有人有什么想法吗?我无法在 p4
文件文档和 Whosebug 上找到信息。
试试这样的东西?
import os
if len(os.listdir('//mypath/myfolder/') ) == 0: # Do not execute p4.run if directory is empty
list = []
else:
list = p4.run("files", "//mypath/myfolder/*")
我猜你有一个围绕该命令执行的异常处理程序,它正在处理异常并退出。我写了一个非常简单的测试脚本并得到了这个:
C:\Perforce\test>C:\users\samwise\AppData\local\programs\python\Python36-32\python files.py
Traceback (most recent call last):
File "files.py", line 6, in <module>
print(p4.run("files", "//depot/no such path/*"))
File "C:\users\samwise\AppData\local\programs\python\Python36-32\lib\site-packages\P4.py", line 611, in run
raise e
File "C:\users\samwise\AppData\local\programs\python\Python36-32\lib\site-packages\P4.py", line 605, in run
result = P4API.P4Adapter.run(self, *flatArgs)
P4.P4Exception: [P4#run] Errors during command execution( "p4 files //depot/no such path/*" )
[Error]: "//depot/no such path/* - must refer to client 'Samwise-dvcs-1509687817'."
我想在 Perforce depot 中搜索文件。
我从 python 脚本执行此操作并使用 p4python
库命令:
list = p4.run("files", "//mypath/myfolder/*")
只要 myfolder
包含一些文件,它就可以正常工作。我得到 python list
作为 return 值。但是当 myfolder
中没有文件时,程序会停止 运行 并且不会显示任何错误消息。我的目标是得到一个空的 python list
,这样我就可以看到这个文件夹不包含任何文件。
有人有什么想法吗?我无法在 p4
文件文档和 Whosebug 上找到信息。
试试这样的东西?
import os
if len(os.listdir('//mypath/myfolder/') ) == 0: # Do not execute p4.run if directory is empty
list = []
else:
list = p4.run("files", "//mypath/myfolder/*")
我猜你有一个围绕该命令执行的异常处理程序,它正在处理异常并退出。我写了一个非常简单的测试脚本并得到了这个:
C:\Perforce\test>C:\users\samwise\AppData\local\programs\python\Python36-32\python files.py
Traceback (most recent call last):
File "files.py", line 6, in <module>
print(p4.run("files", "//depot/no such path/*"))
File "C:\users\samwise\AppData\local\programs\python\Python36-32\lib\site-packages\P4.py", line 611, in run
raise e
File "C:\users\samwise\AppData\local\programs\python\Python36-32\lib\site-packages\P4.py", line 605, in run
result = P4API.P4Adapter.run(self, *flatArgs)
P4.P4Exception: [P4#run] Errors during command execution( "p4 files //depot/no such path/*" )
[Error]: "//depot/no such path/* - must refer to client 'Samwise-dvcs-1509687817'."