[MRG] Simplify creation of pickle path #15237
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reference Issues/PRs
Contributes to #11991
What does this implement/fix? Explain your changes.
The function
sklearn.datasets.base._pkl_filepath
is a compatibility function for Python 2 and Python 3 support.
The function expects path components as *args and constructs and returns the path to a pickel from it.
It modifies the last path component as follows:
For Python 3, it adds a suffix ('_py3' by default, or the value of the kwarg 'py3_suffix' if specified).
For Python 2, it does nothing .
It then concatenates its arguments using os.path.join and returns the
result.
If Python 2 support is to be deprecated, we can simplify the code: Just
always add the suffix. We cannot get rid of the function entirely since
some users still might have Python 2 pickles on their filesystem.
We can also shorten the docstring.
Any other comments?
@rth As explained in the thread of MR #15231 I cannot reopen the latter due to a force push (did not know this and sorry again).