2016-09-14 5 views
0

イメージをpngに変換し、サイズを512に変換するプログラムを書いています。 もっと入力したいです。無限大入力PIL(python)

from PIL import Image 
import string 
import random 

put = input("enter your image path:") 
im = Image.open(put) 
size = (512,512) 

if im.size > size: 
     im.thumbnail(size,Image.ANTIALIAS)  
else: 
     print ("it's ready") 

ranam = (''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(12))) 
name = "d:/arjang/images/" + ranam 

im.save(name + ".png") 

助けてください。

+3

を '私はあなたがこれで何を意味するinput'以上を取得したいですか? – MooingRawr

+0

質問は不明です。私の推測:あなたは1つのサイズ変更を完了した後に別の画像パスをもう一度尋ねるスクリプトを持っていたいですか?ループで? – Guillaume

答えて

0

この意志ループ、あなたは空の文字列を入力するまで、サイズを変更するために別の画像パスを求めて:

from PIL import Image 
import string 
import random 

while True: 

    put = input("enter your image path:") 
    if not put.strip(): break 
    im = Image.open(put) 
    size = (512,512) 
    if im.size > size: 

     im.thumbnail(size,Image.ANTIALIAS) 

    else: 
     print ("it's ready") 

    ranam = (''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(12))) 
    name = "d:/arjang/images/" + ranam 

    im.save(name + ".png") 
0

は、あなたが「入力()関数によって誤解されています。そのあなたが望んでいるだろう何をしません。機能と呼ばれる入力が行います。入力は、あなたがコードとして入力する内容実行します。

これは、そのためのpython3はから行を読み取るにはraw_input()。

を明らかに行うには、「入力を()」に変更し、除去誤解されますあなたはpython2でこれを使うことができる標準入力:

put = raw_input("enter your image path:") 

またはあなたがこれを行うことができます:

import sys 

sys.stdout.write("enter your image path:") 
sys.atdout.flush() 
put = sys.stdin.readline().strip() 
関連する問題