得到无穷大输入PIL(python)

时间:2016-09-14 13:26:25

标签: python input python-imaging-library pillow

我正在编写一个将图像转换为png并将大小转换为512的程序, 我想得到更多的投入。

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")

请帮忙。

2 个答案:

答案 0 :(得分: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")

答案 1 :(得分:0)

你被“input()函数误导了。它不会做你希望调用输入的函数会做什么。输入执行你输入的代码。

这是如此误导,python3改变了“input()”来做明显的并删除了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()