كيف أقوم بنتيجة هذا المتغير؟
-
24-09-2019 - |
سؤال
في الوقت الحالي ، تم إعداده للكتابة على ملف ، لكنني أريده إخراج القيمة إلى متغير. لست متأكدا كيف.
from BeautifulSoup import BeautifulSoup
import sys, re, urllib2
import codecs
woof1 = urllib2.urlopen('someurl').read()
woof_1 = BeautifulSoup(woof1)
woof2 = urllib2.urlopen('someurl').read()
woof_2 = BeautifulSoup(woof2)
GE_DB = open('GE_DB.txt', 'a')
for row in woof_1.findAll("tr", { "class" : "row_b" }):
for col in row.findAll(re.compile('td')):
GE_DB.write(col.string if col.string else '')
GE_DB.write(" ")
GE_DB.write("\n")
GE_DB.close()
for row in woof_2.findAll("tr", { "class" : "row_b" }):
for col in row.findAll(re.compile('td')):
GE_DB.write(col.string if col.string else '')
GE_DB.write("\n")
GE_DB.close()
المحلول
values = []
for row in woof_1.findAll("tr", { "class" : "row_b" }):
for col in row.findAll(re.compile('td')):
if col.string:
values.append(col.string)
result = ''.join(values)
نصائح أخرى
تخلص من جميع إشارات GE_DB.
هل أ outputtext = ""
نحو البداية.
يحل محل GE_DB.write(col.string if col.string else '')
مع outputtext += col.string if col.string else ''
ربما مثل هذا.
gedb = "";
for row in woof_1.findAll("tr", { "class" : "row_b" }):
for col in row.findAll(re.compile('td')):
if col.string:
gedb += col.string
import cStringIO as StringIO # or import StringIO if on a fringe platform
buf = StringIO.StringIO()
for row in woof_1.findAll("tr", { "class" : "row_b" }):
for col in row.findAll(re.compile('td')):
buf.write(col.string if col.string else '')
result = buf.getvalue()
لا تنتمي إلى StackOverflow