bpo-36654: add example to generate token from another file#12947
Conversation
eamanu
left a comment
There was a problem hiding this comment.
This example confuse me, because the file example.py does not exist. Maybe you need to do something like hello.py
| Example of tokenizing from another file:: | ||
|
|
||
| import tokenize | ||
| f = open('example.py', 'rb') |
There was a problem hiding this comment.
Using tokenize.open() would be better as it automatically detect the encoding of the file:
Line 449 in 5d90954
There was a problem hiding this comment.
Also, I agree with Emmanuel that using the existing hello.py as an example would make the example easier to follow.
There was a problem hiding this comment.
I found the tokenize function already call detect_encoding.
There was a problem hiding this comment.
I just realized that tokenize.open() returns a text stream, so passing it to tokenize.tokenize() wouldn't work.
We can use tokenize.generate_tokens() to demonstrate how the str API works:
import tokenize
with tokenize.open('hello.py') as f:
token_gen = tokenize.generate_tokens(f.readline)
for token in token_gen:
print(token)Then fallback to your example to show the usage of the bytes API:
import tokenize
with open('hello.py', 'rb') as f:
token_gen = tokenize.tokenize(f.readline)
for token in token_gen:
print(token)|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
|
Hi @Windsooon Could you update your PR with the last comment of @berkerpeksag and with the Thank you |
matrixise
left a comment
There was a problem hiding this comment.
Thanks for your contribution but you have to update your PR with the recommendations of @berkerpeksag
|
Hello, @matrixise, I would love to update the example if needed. However, Serhiy Storchaka didn't agree with it
|
|
I think Serhiy's comment was about the current form of the PR. In my last comment, I was proposing to add examples for both bytes and unicode APIs of the tokenize module. As a core developer, even I missed that |
|
@Windsooon, any updates? Thanks! |
|
Sure, I will fix it in two days. Thank you for reminding.
|
|
Hi, @csabella. I just updated the PR base on @berkerpeksag 's suggestion. |
berkerpeksag
left a comment
There was a problem hiding this comment.
Looks pretty good to me, thank you!
Comments have been addressed.
|
@berkerpeksag: Please replace |
|
Thanks @Windsooon for the PR, and @berkerpeksag for merging it 🌮🎉.. I'm working now to backport this PR to: 3.7, 3.8. |
…honGH-12947) (cherry picked from commit 4b09dc7) Co-authored-by: Windson yang <wiwindson@outlook.com>
|
GH-18187 is a backport of this pull request to the 3.8 branch. |
…honGH-12947) (cherry picked from commit 4b09dc7) Co-authored-by: Windson yang <wiwindson@outlook.com>
|
GH-18188 is a backport of this pull request to the 3.7 branch. |
Add example to generate token from another file.
https://bugs.python.org/issue36654