此代码允许您调整名称" lena-gray.png"在同一个文件夹中。
from PIL import Image
jpgfile = Image.open("lena-gray.png")
high = input("Genişliğini giriniz : ")
wid = input("Yüksekliğini giriniz : ");
out = jpgfile.resize((int(high), int(wid)))
out.show()
但我没有逐步输入这些值,而是想进入
$ python mywork.py lena-gray.png 50 100
所以我想在不打开文件的情况下运行它并查看结果。这可以在Phyton上完成吗?你能救我吗?
----------------------------------------编辑------ ----------------------------
I updated my code like down.
import sys
from PIL import Image
firstarg = str(sys.argv[1])
secondarg = int(sys.argv[2])
thirdarg = int(sys.argv[3])
jpgfile = Image.open(firstarg)
yuks = secondarg
gen = thirdarg
out = jpgfile.resize((int(yuks), int(gen)))
out.show()
我的代码有效!
答案 0 :(得分:1)
您想查看argparse。
它是处理命令行参数的标准Python方法。
编辑:如果您想检查文件是否确实存在或允许提供文件列表,请查看glob。
EDIT2:应该这样做:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("filename", help="an image file", type=str)
parser.add_argument("width", help="display width", type=int)
parser.add_argument("height", help="display height", type=int)
clargs = parser.parse_args()
from PIL import Image
jpgfile = Image.open(clargs.filename)
out = jpgfile.resize(clargs.height, clargs.width)
out.show()
EDIT3:如果你真的想根据@tendstoZero的回答来做,这应该是正确的:
import sys
filename = sys.argv[1]
height = int(sys.argv[2])
width = int(sys.argv[3])
from PIL import Image
jpgfile = Image.open(filename)
out = jpgfile.resize(height, width)
out.show()
你不应该投两次int
,你也不应该使用毫无意义的中间变量。
答案 1 :(得分:-1)
import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
sys.argv[0] should be the script name .
您应该在脚本中使用上面的代码片段。