File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -184,6 +184,13 @@ def with_suffix(self, suffix):
184
184
index = - len (self .suffix ) or None
185
185
return Path (self ._path [:index ] + suffix )
186
186
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
+
187
194
@property
188
195
def stem (self ):
189
196
return self .name .rsplit ("." , 1 )[0 ]
Original file line number Diff line number Diff line change @@ -322,3 +322,11 @@ def test_with_suffix(self):
322
322
self .assertTrue (Path ("foo/test" ).with_suffix (".tar" ) == Path ("foo/test.tar" ))
323
323
self .assertTrue (Path ("foo/bar.bin" ).with_suffix (".txt" ) == Path ("foo/bar.txt" ))
324
324
self .assertTrue (Path ("bar.txt" ).with_suffix ("" ) == Path ("bar" ))
325
+
326
+ def test_expanduser (self ):
327
+ self .assertFalse (str (Path ("~" ).expanduser ()) == "~" )
328
+ self .assertTrue (str (Path ("~" ).expanduser ()) == os .getenv ("HOME" ))
329
+ self .assertTrue (str (Path ("~/foo" ).expanduser ()) == os .getenv ("HOME" ) + "/foo" )
330
+
331
+ with self .assertRaises (RuntimeError ):
332
+ Path ("~foo" ).expanduser ()
You can’t perform that action at this time.
0 commit comments