来自 Python 3.4 的pathlib 库中的新 Path 包似乎是对诸如 之类的方法的强大替代os.path.join()
,但我在使用它时遇到了一些麻烦。
我有一条可以从folder_foo/file.csv
到的路径long/path/to/folder_foo/file.csv
。我用 pandas 读取了 .csv 文件,folder_foo
对其进行了修改并希望将其保存到folder_bar/file.csv
or long/path/to/folder_bar/file.csv
。
本质上,我想在 Path 对象中重命名folder_foo
为。folder_bar
编辑:示例路径代码
csv_path = Path("long/path/to/folder_foo/file.csv")
尝试
1
csv_path.parents[0] = csv_path.parents[0] + "_clean")
这会导致错误TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
,这意味着您不能按照TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'中所述+
将 aPosixPath
与 a结合使用。str
2
为了解决这个问题,我尝试了以下方法:
csv_path.parents[0] = Path(str(csv_path.parents[0]) + "_clean")
然而,这会导致错误:TypeError: '_PathParents' object does not support item assignment
。
由于PosixPath
不是列表,因此此错误是可以理解的。
3
也许.parts
是更好的方法,但是
csv_path.parts[-2] = csv_path.parts[-2][:-3] + "bar"
结果:TypeError: 'tuple' object does not support item assignment
。
问题
如何轻松重命名文件的父文件夹?