2013-05-06 55 views
0

我寫一個程序,把我的學習成績,使他們在我的桌面背景時,程序從它返回他們都爲從學校年級檢索一個年級以輸出,並將其輸入

代碼的網站分析我的成績現場:

for cell in driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']"): 
    print cell.text 

cell.text回來爲

-- 
B 
84 
-- 
A- 
90 
-- 
C+ 
79 
-- 
A 
95 
-- 
B 
82 
-- 
B 
81 

但後來我需要輸入它放回了我的桌面BG

01圖像
font = ImageFont.load_default() 
img = Image.open('bg.bmp') 
draw = ImageDraw.Draw(img) 

now = datetime.datetime.now() 


draw.text((650, 450),'      CURRENT GRADES') 
draw.text((650, 500), 'Period 1: Geography -----------------------------')#First Grade 
draw.text((650, 550), 'Period 2: Francais-------------------------------')#Second Grade 
draw.text((650, 600), 'Period 3: Science--------------------------------')#Third Grade 
draw.text((650, 650), 'Period 4: P.E------------------------------------')#Fourth Grade 
draw.text((650, 700), 'Period 5: Algebra 9------------------------------')#Fifth Grade 
draw.text((650, 750), 'Period 6: LA-------------------------------------')Sixth grade 
draw.text((650, 800), 'Last Updated: {0}'.format(now)) 
draw = ImageDraw.Draw(img) 
draw = ImageDraw.Draw(img) 
img.save('mod_bg.bmp') 

返回的成績,當我需要他們投入每類

如果需要任何信息問 感謝

+0

你的問題是如何把'cell.text'的數據放到圖像上?你的代碼到底出了什麼問題? – TankorSmash 2013-05-06 02:31:31

+0

我需要每個年級分開,並把每個科目作爲一個變量,但我不知道如何 – Serial 2013-05-06 02:36:23

回答

1

如果您難以從字符串cell.text中獲取數據,那麼您可能需要如下所示的內容。

我已經把數據轉換成字符串下手,使我們擁有一個獨立的測試:

grades = """-- 
B 
84 
-- 
A- 
90 
-- 
C+ 
79 
-- 
A 
95 
-- 
B 
82 
-- 
B 
81""" 

gradesList = grades.split('\n') 
letterGrade = gradesList[1::3] 
pctGrade = [int(x) for x in gradesList[2::3]] 

for i in range(len(letterGrade)): 
    print ("%s\t%d" % (letterGrade[i],pctGrade[i])) 

...,我打印結果到控制檯,而不是把它進入圖像,但@TankorSmash已經展示瞭如何做後者。

從這個程序的輸出是:

B  84 
A-  90 
C+  79 
A  95 
B  82 
B  81 

有關拆分多行字符串的詳細信息,請參閱here。有關限制列表的更多信息,請參見here

+0

這並不總是數據,雖然它會改變成績更新時,所以我需要採取每個數字,併爲每個年級分配一個變量 – Serial 2013-05-06 04:06:15

+0

你只想用'cell.text'做同樣的事情,因爲它是從學校成績網站上獲得的,就像我在程序中用'grades'完成的那樣,即'gradesList = cell.text.split(' \ N')'。我沒有這樣做的原因是爲了使我的程序成爲[簡短,自包含,正確(可編譯),示例](http://sscce.org/)。 – Simon 2013-05-06 04:24:38

+0

它告訴我列表索引超出範圍? – Serial 2013-05-06 04:33:26

1

無需編寫出來的代碼,你將需要:

  • 遍歷以相同的順序,你已經有了
  • 填補空間是週期列表中cell.text補間cell.textPeriod 5:...東西與填充字符串,所以它總是相同的長度
  • 在每次迭代cell.text迭代50的位置繪製文本。
  • 保存圖像。
相關問題