मैं एक प्रोग्राम खोलने की कोशिश कर रहा हूं जो एक निर्देशिका खोल देगा, फिर पावरपॉइंट्स के नाम प्राप्त करने के लिए नियमित अभिव्यक्तियों का उपयोग करें और फिर स्थानीय रूप से फाइलें बनाएं और उनकी सामग्री कॉपी करें। जब मैं इसे चलाता हूं तो यह काम करता प्रतीत होता है, हालांकि जब मैं वास्तव में फ़ाइलों को खोलने की कोशिश करता हूं तो वे कहते हैं कि संस्करण गलत है।पाइथन urllib एक ऑनलाइन निर्देशिका की सामग्री डाउनलोड करने
from urllib.request import urlopen
import re
urlpath = urlopen('http://www.divms.uiowa.edu/~jni/courses/ProgrammignInCobol/presentation/')
string = urlpath.read().decode('utf-8')
pattern = re.compile('ch[0-9]*.ppt') #the pattern actually creates duplicates in the list
filelist = pattern.findall(string)
print(filelist)
for filename in filelist:
remotefile = urlopen('http://www.divms.uiowa.edu/~jni/courses/ProgrammignInCobol/presentation/' + filename)
localfile = open(filename,'wb')
localfile.write(remotefile.read())
localfile.close()
remotefile.close()
आपको ** कभी भी ** रेईएक्स के साथ एचटीएमएल का विश्लेषण नहीं करना चाहिए, http://stackoverflow.com/a/1732454/851737 देखें। एक HTML पार्सिंग लाइब्रेरी का उपयोग करें जैसे कि lxml या BeautifulSoup। – schlamar
सुंदर सूप यह है। आपकी सिफारिश के लिए धन्यवाद। – davelupt