File tree Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -184,6 +184,13 @@ def with_suffix(self, suffix):
184184 index = - len (self .suffix ) or None
185185 return Path (self ._path [:index ] + suffix )
186186
187+ def expanduser (self ):
188+ if self ._path == "~" or self ._path .startswith ("~" + _SEP ):
189+ return Path (os .getenv ("HOME" ) + self ._path [1 :])
190+ if self ._path [0 ] == "~" :
191+ raise RuntimeError ("User home directory expansion not supported." )
192+ return self
193+
187194 @property
188195 def stem (self ):
189196 return self .name .rsplit ("." , 1 )[0 ]
Original file line number Diff line number Diff line change @@ -322,3 +322,8 @@ def test_with_suffix(self):
322322 self .assertTrue (Path ("foo/test" ).with_suffix (".tar" ) == Path ("foo/test.tar" ))
323323 self .assertTrue (Path ("foo/bar.bin" ).with_suffix (".txt" ) == Path ("foo/bar.txt" ))
324324 self .assertTrue (Path ("bar.txt" ).with_suffix ("" ) == Path ("bar" ))
325+
326+ def test_expanduser (self ):
327+ self .assertFalse (Path ("~" ) == "~" )
328+ self .assertTrue (Path ("~" ).expanduser () == os .getenv ("HOME" ))
329+ self .assertTrue (Path ("~/foo" ).expanduser () == os .getenv ("HOME" ) + "/foo" )
You can’t perform that action at this time.
0 commit comments