mirror of https://github.com/python/cpython.git
Back out pathlib.Path.path attr. (Merge 3.5->3.6)
This commit is contained in:
commit
03e6061956
|
@ -365,28 +365,6 @@ Pure paths provide the following methods and properties:
|
||||||
''
|
''
|
||||||
|
|
||||||
|
|
||||||
.. data:: PurePath.path
|
|
||||||
|
|
||||||
A string representing the full path::
|
|
||||||
|
|
||||||
>>> PurePosixPath('my/library/setup.py').path
|
|
||||||
'my/library/setup.py'
|
|
||||||
|
|
||||||
This always returns the same value as ``str(p)``; it is included to
|
|
||||||
serve as a one-off protocol. Code that wants to support both
|
|
||||||
strings and ``pathlib.Path`` objects as filenames can write
|
|
||||||
``arg = getattr(arg, 'path', arg)`` to get the path as a string.
|
|
||||||
This can then be passed to various system calls or library
|
|
||||||
functions that expect a string. Unlike the alternative
|
|
||||||
``arg = str(arg)``, this will still raise an exception if an object
|
|
||||||
of some other type is given by accident.
|
|
||||||
|
|
||||||
A nice advantage is that this protocol is also supported by
|
|
||||||
:class:`os.DirEntry` objects returned by :func:`os.scandir`.
|
|
||||||
|
|
||||||
.. versionadded:: 3.4.5
|
|
||||||
.. versionadded:: 3.5.2
|
|
||||||
|
|
||||||
.. data:: PurePath.suffix
|
.. data:: PurePath.suffix
|
||||||
|
|
||||||
The file extension of the final component, if any::
|
The file extension of the final component, if any::
|
||||||
|
|
|
@ -693,13 +693,6 @@ def __str__(self):
|
||||||
self._parts) or '.'
|
self._parts) or '.'
|
||||||
return self._str
|
return self._str
|
||||||
|
|
||||||
@property
|
|
||||||
def path(self):
|
|
||||||
try:
|
|
||||||
return self._str
|
|
||||||
except AttributeError:
|
|
||||||
return str(self)
|
|
||||||
|
|
||||||
def as_posix(self):
|
def as_posix(self):
|
||||||
"""Return the string representation of the path with forward (/)
|
"""Return the string representation of the path with forward (/)
|
||||||
slashes."""
|
slashes."""
|
||||||
|
|
|
@ -477,22 +477,6 @@ def test_name_common(self):
|
||||||
self.assertEqual(P('a/b.py').name, 'b.py')
|
self.assertEqual(P('a/b.py').name, 'b.py')
|
||||||
self.assertEqual(P('/a/b.py').name, 'b.py')
|
self.assertEqual(P('/a/b.py').name, 'b.py')
|
||||||
|
|
||||||
def test_path_common(self):
|
|
||||||
P = self.cls
|
|
||||||
def check(arg, expected=None):
|
|
||||||
if expected is None:
|
|
||||||
expected = arg
|
|
||||||
self.assertEqual(P(arg).path, expected.replace('/', self.sep))
|
|
||||||
check('', '.')
|
|
||||||
check('.')
|
|
||||||
check('/')
|
|
||||||
check('a/b')
|
|
||||||
check('/a/b')
|
|
||||||
check('/a/b/', '/a/b')
|
|
||||||
check('/a/b/.', '/a/b')
|
|
||||||
check('a/b.py')
|
|
||||||
check('/a/b.py')
|
|
||||||
|
|
||||||
def test_suffix_common(self):
|
def test_suffix_common(self):
|
||||||
P = self.cls
|
P = self.cls
|
||||||
self.assertEqual(P('').suffix, '')
|
self.assertEqual(P('').suffix, '')
|
||||||
|
@ -915,17 +899,6 @@ def test_name(self):
|
||||||
self.assertEqual(P('//My.py/Share.php').name, '')
|
self.assertEqual(P('//My.py/Share.php').name, '')
|
||||||
self.assertEqual(P('//My.py/Share.php/a/b').name, 'b')
|
self.assertEqual(P('//My.py/Share.php/a/b').name, 'b')
|
||||||
|
|
||||||
def test_path(self):
|
|
||||||
P = self.cls
|
|
||||||
self.assertEqual(P('c:').path, 'c:')
|
|
||||||
self.assertEqual(P('c:/').path, 'c:\\')
|
|
||||||
self.assertEqual(P('c:a/b').path, 'c:a\\b')
|
|
||||||
self.assertEqual(P('c:/a/b').path, 'c:\\a\\b')
|
|
||||||
self.assertEqual(P('c:a/b.py').path, 'c:a\\b.py')
|
|
||||||
self.assertEqual(P('c:/a/b.py').path, 'c:\\a\\b.py')
|
|
||||||
self.assertEqual(P('//My.py/Share.php').path, '\\\\My.py\\Share.php\\')
|
|
||||||
self.assertEqual(P('//My.py/Share.php/a/b').path, '\\\\My.py\\Share.php\\a\\b')
|
|
||||||
|
|
||||||
def test_suffix(self):
|
def test_suffix(self):
|
||||||
P = self.cls
|
P = self.cls
|
||||||
self.assertEqual(P('c:').suffix, '')
|
self.assertEqual(P('c:').suffix, '')
|
||||||
|
|
|
@ -682,12 +682,6 @@ Library
|
||||||
- Issue #25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
|
- Issue #25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
|
||||||
option if it is safe to do so.
|
option if it is safe to do so.
|
||||||
|
|
||||||
- Issue #22570: Add 'path' attribute to pathlib.Path objects,
|
|
||||||
returning the same as str(), to make it more similar to DirEntry.
|
|
||||||
Library code can now write getattr(p, 'path', p) to get the path as
|
|
||||||
a string from a Path, a DirEntry, or a plain string. This is
|
|
||||||
essentially a small one-off protocol.
|
|
||||||
|
|
||||||
- Issue #26012: Don't traverse into symlinks for ** pattern in
|
- Issue #26012: Don't traverse into symlinks for ** pattern in
|
||||||
pathlib.Path.[r]glob().
|
pathlib.Path.[r]glob().
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue