2016-03-24 40 views
1

İyi günler ile pdf dosyası açıkta, bir dizinden belirli ada sahip pdf dosyalarını açmak istiyorTypeError: türü 'WindowsPath' argümanı iterable değil - piton

. Bu dosya adları ikinci sütunda bulunan bir csv dosya girişinden sağlanır.

Ben follwing kod denedim ama bir hata mesajı aldım:

TypeError: argument of type 'WindowsPath' is not iterable

bu sorun ve pdf dosyaları açılacak nasıl çözebilir girdi dosyasını göre?

Ve başka bir sorun: giriş adı pdf başlığına tam olarak uymuyorsa nasıl düzeltebilirim, ancak giriş adını içeren bu dosyayı açmak için hala isterim?

import csv 
import os 
from pathlib import * 

dir_path = Path('D:\\path\\pdf files') 
pdf_files = dir_path.glob('*.pdf') 

file1=open('INPUT.csv','r') 
reader=csv.reader(file1,delimiter=';') 
for pdf_file in pdf_files: 
    for item in reader: 
     file_name=item[1] 
     print(file_name)#just to see the file name that I want to open 
     if file_name in pdf_file: 
      os.startfile("%s"%(pdf_file)) 
file1.close() 

Teşekkürler! hat if file_name in pdf_file yılında

cevap

0

Sorun: pdf_file bir dize, aynı pathlib.Path örneği, dize olarak dosya adını almak için name kullanmaktır:

Eğer ext pdf_file adına içeriyorsa olmadan file_name olmadığını kontrol etmek istiyorum durumda
if file_name == pdf_file.name 

:

file_name.split('.')[-2] in f.name # ('example' in 'some_example.pdf') == True 
İlgili konular