Eclipse에서 PyDev를 사용하고 "AttributeError : 'Namespace'객체를 수신하면 'perfect4k'속성이 없습니다. 그림은 프로젝트 폴더 아래에 저장되지만 가능한 것은 아닌 것처럼 보입니다. .로드 사전에 감사, 파이썬에서 뉴비입니다 참고로,이 내가 인터넷을 빌려 예제 코드Python에서 Argparse로 그림로드 중 오류가 발생했습니다.
이import numpy as np
from PIL import Image
import time
from mazes import Maze
from factory import SolverFactory
# Read command line arguments - the python argparse class is convenient here.
import argparse
sf = SolverFactory()
parser = argparse.ArgumentParser()
parser.add_argument("-m", "--method", nargs='?', const=sf.Default, default=sf.Default,
choices=sf.Choices)
parser.add_argument("perfect4k.png", help="4kImage", default=None, nargs='?') #input_file
parser.add_argument("SaveM.png", help="4kImageSave", default=None, nargs='?') #output_file
args = parser.parse_args()
method = args.method
# Load Image
print ("Loading Image")
im = Image.open(args.perfect4k.png) #args.input_file
# Create the maze (and time it) - for many mazes this is more time consuming than solving the maze
print ("Creating Maze")
t0 = time.time()
maze = Maze(im)
t1 = time.time()
print ("Node Count:", maze.count)
total = t1-t0
print ("Time elapsed:", total, "\n")
# Create and run solver
[title, solver] = sf.createsolver(args.method)
print ("Starting Solve:", title)
t0 = time.time()
[result, stats] = solver(maze)
t1 = time.time()
total = t1-t0
# Print solve stats
print ("Nodes explored: ", stats[0])
if (stats[2]):
print ("Path found, length", stats[1])
else:
print ("No Path Found")
print ("Time elapsed: ", total, "\n")
"""
Create and save the output image.
This is simple drawing code that travels between each node in turn, drawing either
a horizontal or vertical line as required. Line colour is roughly interpolated between
blue and red depending on how far down the path this section is. Dependency on numpy
should be easy to remove at some point.
"""
print ("Saving Image")
mazeimage = np.array(im)
imout = np.array(mazeimage)
imout[imout==1] = 255
out = imout[:,:,np.newaxis]
out = np.repeat(out, 3, axis=2)
resultpath = [n.Position for n in result]
length = len(resultpath)
px = [0, 0, 0]
for i in range(0, length - 1):
a = resultpath[i]
b = resultpath[i+1]
# Blue - red
px[0] = int((i/length) * 255)
px[2] = 255 - px[0]
if a[0] == b[0]:
# Ys equal - horizontal line
for x in range(min(a[1],b[1]), max(a[1],b[1])):
out[a[0],x,:] = px
elif a[1] == b[1]:
# Xs equal - vertical line
for y in range(min(a[0],b[0]), max(a[0],b[0]) + 1):
out[y,a[1],:] = px
img = Image.fromarray(out)
img.save(args.SaveM.png) #CHANGED
출력 :..
pydev debugger: starting (pid: 12436)
Traceback (most recent call last):
File "C:\Users\Gabriel\.p2\pool\plugins\org.python.pydev_5.5.0.201701191708\pysrc\pydevd.py", line 1537, in <module>
Loading Image
globals = debugger.run(setup['file'], None, None, is_module)
File "C:\Users\Gabriel\.p2\pool\plugins\org.python.pydev_5.5.0.201701191708\pysrc\pydevd.py", line 976, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Users\Gabriel\.p2\pool\plugins\org.python.pydev_5.5.0.201701191708\pysrc\_pydev_imps\_pydev_execfile.py", line 25, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:\Users\Gabriel\Desktop\AP Computer Science\PythonMaze\solve.py", line 21, in <module>
im = Image.open(args.perfect4k.png) #args.input_file
AttributeError: 'Namespace' object has no attribute 'perfect4k'
구체적으로 무엇이 오류입니까 - 여기에 런타임 출력/스택 추적을 추가 할 수 있습니까? –
@DannyStaple 출력을 추가하기 위해 게시물을 편집했습니다. 희망이 도움이 – E36