Python で次のコマンドを使用して、ファイルまたはディレクトリのフル パスの出力を取得します。
command = subprocess.Popen(['sshpass', '-p', password, 'rsync', '--recursive', source],
stdout=subprocess.PIPE).communicate()[0]
質問のように出力が得られます。ここで、出力を次のように分割したいと思います。
home
username
ok
ok.txt
使用してみました:command.split('\')
しかし、うまくいきませんでした。壊れた後、ユーザーに各ファイルまたはディレクトリも選択させたいと思います。どうやってやるの?ありがとう
編集:実際にはリストですが、Django テンプレートの結合を使用して分割するので、今は文字列だと思います。出力は次のようになります。
django
django/genelaytics
django/genelaytics/.project
django/genelaytics/.pydevproject
django/genelaytics/manage.py
django/genelaytics/fileupload
django/genelaytics/fileupload/__init__.py
django/genelaytics/fileupload/__init__.pyc
django/genelaytics/fileupload/form.html~
django/genelaytics/fileupload/forms.py
django/genelaytics/fileupload/forms.pyc
django/genelaytics/fileupload/models.py
望ましい出力:
django
genelaytics
.project
.pydevproject
ファイルやフォルダのツリー構造が欲しい。ありがとう
文字列からツリーへの変換が難しい場合は、次のようなリストもあります。
['django', 'django/genelaytics', 'django/genelaytics/.project', 'django/genelaytics/.pydevproject', 'django/genelaytics/manage.py', 'django/genelaytics/fileupload', 'django/genelaytics/fileupload/__init__.py', 'django/genelaytics/fileupload/__init__.pyc']
上記と同じ出力が必要です。文字列からツリーを変換するのが簡単な場合はそうしますが、リストからツリーを変換するのが簡単な場合は、どちらでも簡単に変換しましょう。問題ない!