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