Windows クライアントのディレクトリ構造のバックアップを取り、それを Linux サーバーに送信することを目的として、Python3 でいくつかのソフトウェアを作成しています。
私が抱えている問題は、Windows と Linux のファイル パスを処理する方法です。ソース ファイルへの相対パスを表すオブジェクトを作成し、その相対パスをサーバーに送信する Windows クライアントが必要です。これにより、サーバーはファイルを宛先フォルダー内のどのサブディレクトリに書き込むかを認識し、実際のデータを送信します。
実際のデータを送信することは問題ではありませんが、Windows の相対パスを Linux システムに送信するにはどうすればよいですか? を使って文字列としてやってみましos.path
たが、すぐにめちゃくちゃになりました。の使用を検討していpathlib
ます。
ある種のパス オブジェクトを作成できれば、pickle を使用してシリアル化し、サーバーに送信できます。ただし、パスを表すために pathlib からどのオブジェクトを使用しますか?
Path()
PosixPath
現在のファイルシステム (または)で動作するクラスのインスタンスを作成しているようですがWindowsPath
、これらは移植可能ではありません。Windows クライアントでオブジェクトを作成すると、Linux システムではオブジェクトをWindowsPath
インスタンス化することさえできないため、Linux はそれをデシリアライズできませんWindowsPath
。
オブジェクトを使用してそれを Linux に送信できるように見えますが、オブジェクト (相対パスを表す) を、または少なくともPureWindowsPath
に変換するにはどうすればよいですか?PureWindowsPath
PosixPath
PurePosixPath
それは可能ですか?それとも、私はそれについてすべて間違って考えていますか?