[lang-ref] ( move_file ) ( python )
def test_move_file(pushd):
# os.rename(b, a)
import shutil
os.makedirs('dir1')
p = Path('file1.txt')
p.touch()
assert os.path.isfile('file1.txt')
with pytest.raises(IsADirectoryError):
os.rename('file1.txt', 'dir1/') # Didn't work on macOS (may be environment-dependent).S
assert not os.path.isfile('dir1/file1.txt')
shutil.move('file1.txt', 'dir1/')
assert not os.path.isfile('file1.txt')
assert os.path.isfile('dir1/file1.txt')
shutil.move('dir1/file1.txt', 'dir1/file2.txt') # shutil.move to directory is supported
assert not os.path.isfile('dir1/file1.txt')
assert os.path.isfile('dir1/file2.txt')
def test_move_file_alternative(pushd):
# p.rename(after)
os.makedirs('dir1')
p = Path('file1.txt')
p.touch()
assert os.path.isfile('file1.txt')
with pytest.raises(IsADirectoryError):
p.rename('dir1/') # Didn't work on macOS (may be environment-dependent).
assert not os.path.isfile('dir1/file1.txt')
p.rename('dir1/file2.txt')
assert not os.path.isfile('file1.txt')
assert os.path.isfile('dir1/file2.txt')