0

我正在使用 p4 Python 模块尝试打开几个文件进行编辑。基本上,我有一个从 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) 

使用此代码,我得到一个错误:

[警告]:'"//Stream/main/Data/anims/stuff/char/Emotion_Angry.hkx" - 文件不在客户端。'

如果我将最后一行更改为此...

p4.run("edit" , "//Stream/main/Data/anims/stuff/char/Emotion_Angry.hkx") 

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

输入数据:

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

1 回答 1

1

在以下命令中,末尾有引号字符。删除它们。似乎也有空行。改变

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

for i in edit_files:
    f=i.replace('"','').strip()
    if len(f)>0:
      print "Opening  ["+f+"]"
      p4.run("edit" , f) 

或一个班轮

[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
于 2013-07-16T21:02:14.520 回答