1
美好的一天。Python PIL將文本保存在單獨的圖像中
我想創建一個for循環來讀取文件的行,直到遇到一個條件,因此它可以在圖像中寫入這些行,我打算使用該文件的每一行執行此操作,如下面的示例:
Number: 123456789
Connecting to Database
no rows selected
Disconnecting from Database
Number: 9876543211
Connecting to Database
1111;48446511911986;Helen;Thursday
2222;48498489489489;Helen;Friday
3333;84545221185986;Helen;Monday
Disconnecting from Database
Number: 963852741
Connecting to Database
1234;123456789456123;Clyde;Friday
4321;123456789456123;Clyde;Thuesday
1423;123456789456123;Clyde;Sunday
2341;123456789456123;Clyde;Friday
Disconnecting from Database
Number: 456987321
Connecting to Database
no rows selected
Disconnecting from Database
正如你可以看到每一個字數據庫顯示了第二次的下一行是一個新的數字信息的時間,所以我試圖用這個詞數據庫作爲下面的循環參數。
import os
import PIL
import PIL.Image as Image
import PIL.ImageDraw as ImageDraw
import PIL.ImageFont as ImageFont
img = Image.open("C:/Users/dir/image/black_background.png")
draw = ImageDraw.Draw(img)
fonts_dir = os.path.join(os.environ['WINDIR'], 'Fonts')
font_name = 'consolab.ttf'
font = ImageFont.truetype(os.path.join(fonts_dir, font_name), 15)
x = 2
y = 0
next_print_count = 0
filename = "info.txt"
Number = ""
for line in open(filename):
if 'Number:' in line:
Number= line.split(" ",1)[1].strip()
if 'Testing ' in line:
line = ""
draw.text((x, y),line,(200,200,200),font=font)
y += 15
img.save(Number + ".png")
問題是,每次啓動一個新文件時,它也會打印前一行的信息。我如何避免這種情況?
我也嘗試使用NUMBER作爲參數,但它沒有奏效。
非常有用,感謝隊友。 –
很高興爲您效勞。如果你發現這個答案有用並且解決了你的問題,請考慮提高它並接受答案。謝謝! – plasmon360
哎呀,忘了接受答案。你去! –