2016-10-09 4 views
0

파이썬을 사용하여 마지막 사용자의 이름을 인쇄하여 여러 문서 (docx)를 수정하려고합니다. 실제로이 스크립트는 다른 이름을 반환해야합니다. 여러 모듈을 섞어 놓아야하는데, 잘못된 일을하고 있거나 docx가 배치 작업을 좋아하지 않습니다. 문제를 발견 할 수있는 경험이있는 사람이 있습니까?python-docx를 사용하여 마지막으로 수정하려는 사용자의 이름을 일괄 인쇄합니다.

from docx import Document 
import docx, glob, os 

for filename in glob.glob('/Users/owner/Desktop/Rename/*.docx'): 
fullfilename=os.path.abspath(filename) 

document = Document('fullfilename') 
core_properties = document.core_properties 
print(core_properties.last_modified_by) 

가 참고로, 나는이 두 스크립트를 통합 한, 그것은 한 번에 하나 개의 파일 때 DOCX 잘 작동하는 듯, 내 루프?

from docx import Document 
import docx 

document = Document('mine.docx') 
core_properties = document.core_properties 
print(core_properties.last_modified_by) 
으로 잘못되어 가고 뭔가가있다

파이썬 3.4 및 docx 0.8.6

+0

[tag : batch-file] 태그와 어떻게 연결 되나요 ?? – aschipfl

+0

전화를 걸고 잘못된 일괄 처리를 클릭했습니다. – YesIAmThatGuy

답변

0

주요 문제는 들여 쓰기가 부족한 것 같습니다. 파이썬은 중괄호 대신 들여 쓰기를 사용하여 루프의 블록을 결정합니다. 따라서이 경우에는 한 번만 실행됩니다. 당신이 그것을 사용하지 않기 때문에 (직접), docx를 가져올 필요가 없습니다

import glob, os 
from docx import Document 

for filename in glob.glob('/Users/owner/Desktop/Rename/*.docx'): 
    fullfilename = os.path.abspath(filename) 
    document = Document('fullfilename') 
    core_properties = document.core_properties 
    print(core_properties.last_modified_by) 

참고 : 당신이 필요한 것은 이것이다. 일반적으로 Document 객체는 python-docx 프로젝트에서 가져 오기가 필요한 모든 것입니다.

+0

감사합니다. Scanny, 나는 당신이 질문에 꽤 능동적이라는 것을 알았습니다. 니가 나에게 돌아와서 고맙다. :) 실제로 스크립트를 들여 썼습니다. 여기에 입력 할 때 간과해야합니다. 두 번째 import docx를 제거했지만 문제가 계속 발생합니다. 각 파일의 경로를 설명하는 약 10 개의 라인''% s % pkg_file '에서 찾을 수없는 패키지''패키지는 다양한 방법으로 해석됩니다. – YesIAmThatGuy

+0

@Josh : 방금 파일 이름을 출력하면 예상 한 파일 이름을 얻으실 수 있습니까? 또한, 나는'fullfilename'을 따옴표로 묶는 것을 보았습니다. 물론 'fullfilename'이라는 파일을 열려고했습니다. 어쩌면 당신은 그것을 좁히고 좀 더 정확한 질문을 편집하려고 약간의 테스트를해야 할 것입니다. 특히 작동하지 않는 최소한의 정확한 코드를 사용하여 오류 메시지와 함께 결과가 정확히 무엇인지 명시해야합니다. 그러면 도움이되기 쉬워 질 것입니다. @scanny 덧글을 남겨두고 다시 한 번 알려면됩니다. – scanny

+0

Blummin heck 빠른 @scanny! 게시하기 전에 별도로 실행하려고했지만 가능한 빨리 파일 이름 부분을 자세히 살펴 보겠습니다. 고마워요. :) – YesIAmThatGuy