P4 Python错误:文件不在clien上

2024-03-28 22:27:46 发布

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

我使用p4python模块尝试打开几个文件进行编辑。基本上我有一个文件列表,我是从一个txt文件抓取。然后我对列表中的每一项进行格式化,并将这些项附加到一个空列表中。我的方法不是最有效的,但我只是想在优化之前让它发挥作用。在

edit_files = []

with open('C:\\Users\\rgriffin\Desktop\\replace.txt', 'r' )as f:
    for line in f:
        l = line.partition(',')[0]
        e = l.replace('#(', '')
        r = e.replace('U:\\', '//Stream/main/')
        q= r.replace('\\', '/')
        edit_files.append(q)
f.close

for i in edit_files:
    p4.run("edit" , i) 

有了这个代码,我得到一个错误:

[Warning]: '"//Stream/main/Data/anims/stuff/char/Emotion_Angry.hkx" - file(s) not on client.'

如果我把最后一行改成这个。。。在

^{pr2}$

文件已按预期签出。我做了一个类型检查,i是一个字符串。在

输入数据:

#("U:\Data\anims\stuff\char\Emotion_Angry_Partial.hkx", "u:\Assets\Actors\stuff\char\Animation\char_Idle.max")

Tags: 文件intxt列表fordatastreammain
1条回答
网友
1楼 · 发布于 2024-03-28 22:27:46

在下面的命令中,末尾有引号字符。一定要把它们取下来。似乎也有空行。 改变

for i in edit_files:
    p4.run("edit" , i) 

^{pr2}$

或者一个班轮

[p4.run("edit" , i.replace('"','').strip()) for i in edit_files if i.strip()]

或者您可能希望更改填充代码本身: 使用:

with open('C:\\Users\\rgriffin\Desktop\\replace.txt', 'r' )as f:
    for line in f:
        l = line.partition(',')[0].replace('#(', '').replace('U:\\', '//Stream/main/').replace('\\', '/').replace('"', '').strip()
        if len(l)>0:
            edit_files.append(l)
f.close

相关问题 更多 >