A weird problem: no auto-completion for Text IO Stream in Editor


312
views
0
5 months ago by

As you can see, when I type in python shell everything is fine, but in Editor Wing can't recognize variable"temp"is a TextIO. Source Assistant doesn't respond either. 

But Wing Pro 5 doesn't have this problem.

 Screenshot : http://www.dumpt.com/img/viewer.php?file=pgb330yi6bfm3cso7imk.jpg

[url=http://www.dumpt.com/img/viewer.php?file=pgb330yi6bfm3cso7imk.jpg][img=http://www.dumpt.com/img/files/pgb330yi6bfm3cso7imk_thumb.jpg][/url]

Community: Wing Python IDE

3 Answers


2
5 months ago by

Thanks, I see this too.  For me at least with Python 3.6 (and probably all Python 3.x versions) Wing completely fails to determine type of f after f = open().  This is a bug.  It works with Python 2.x so I think it's something conflicting with this particular builtin, and possibly others.  Thanks for reporting this!

0
5 months ago by

 

0
5 months ago by

I can't seem to see the editor screenshot (bad url, and in any case AllAnswered seems to have made a mess of your post).  However, this is most likely a difference between the capabilities of static analysis and runtime analysis.  In the editor, Wing uses static analysis and that cannot determine the type of everything.  One solution is to run to a breakpoint in the context you want to edit and then Wing also uses runtime analysis in the editor.  Another possibility is to add things like "isinstance(temp, TextIO)" to code or to use Python 3.x type annotations.  There are some details on the options here:  http://wingware.com/doc/edit/helping-wing-analyze-code


the editor screenshot is here

http://www.dumpt.com/img/viewer.php?file=pgb330yi6bfm3cso7imk.jpg

and WingIDE should easily identify a variable A is a TextIO if you use " A = open(you_file)"

written 5 months ago by woodword  
Please login to add an answer/comment or follow this question.

Similar posts:
Search »