2013-07-16 3 views
0

p4 Python 모듈을 사용하여 편집 할 여러 파일을 열어 봅니다. 기본적으로 내가 txt 문서에서 잡는 파일 목록이 있습니다. 그런 다음 목록의 각 항목에 서식을 지정하고 빈 목록에 해당 항목을 추가합니다. 내 방법이 가장 효율적이지는 않지만 최적화하기 전에이 방법을 사용하려고합니다. 예상대로P4 Python 오류 : 클라이언트에 파일이 없습니다.

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

나는이 마지막 라인을 변경하는 경우 ...

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

파일

이 체크 아웃 :이 코드
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) 

는 오류가 발생합니다. 내가 타입 체크를했고 i이 문자열입니다.

입력 데이터 : 다음 명령에서

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

당신이 시도 했 내가 인쇄? 입력 된 txt 문서 형식은 무엇입니까? –

+0

p4.run ("edit", i.replace (' "', '')) –

+0

print (i)의 결과가"// Stream/main/Data/anims/stuff/car/Emotion_Angry.hkx " 내 텍스트 문서는 일반 텍스트입니다. p4.run ("edit", i.replace (' "', '')) 결과는 입니다. 파일"F : \ replaceFile.py "27 번째 줄 p4.run ("edit ", i. 실행시 결과 = P4API.P4Adapter.run (self, * self .__ flatten())을 사용하여파일 "C : \ Python33 \ lib \ site-packages \ P4.py" (p4 edit ) [P4 # run] 명령 실행 중 경고 ("p4 edit ") \t 경고 : '\ n - 파일이 클라이언트에 없습니다.' – griffinanimator

답변

1

, 끝 인용 부호가 있습니다. 그들을 제거하십시오. 또한 빈 줄이있는 것 같습니다. 사용 : 변경

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

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

또는 당신이 당신의 채우기 코드 자체를 변경할 수 있습니다

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

또는 하나 라이너

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 
+0

) 덕분에 약간의 편집에 난에 대한 edit_files에!. F = i.replace ('' ',' ') 스트립() 인쇄 (F) 경우 LEN은 (F)> 0 :. 인쇄 ("열기 [ "+ f +"] ") p4.run ("edit ", f) – griffinanimator

+0

aah correct. 감사. 결정된. –

관련 문제