0

sys.argvコマンドをラップするために使用するスクリプトを作成しようとしていますscp。アイデアは、あなたが実行できるということです:pyscp folder/* hostしかし、これらの引数でこのスクリプトを実行すると:

import sys

for arg in sys.argv:
    print arg

内部のすべてのフォルダーのリストを取得しますfolder

pyscp.py
folder/0
folder/1
folder/2
folder/3
folder/4
folder/5
folder/67
folder/8
folder/9
host
4

3 に答える 3

6

UNIXoid オペレーティング システムの場合: シェルは を*一致するファイルに展開しています。スクリプトを次のように呼び出してみてください

pyscp "folder/*" host

引用符は、シェルが*文字を解釈しないようにします。

于 2013-07-16T14:52:35.747 に答える
2

アスタリスクをエスケープしないと、シェルがファイル名の展開を実行します。アスタリスクを含むパターンは、Python プログラムが実行される前に、パターンに一致するファイル名のアルファベット順に並べ替えられたリストに置き換えられます。たとえば、単一引用符を使用して、シェルがファイル名の展開を実行しないようにすることができます。

pyscp 'folder/*' hostname

globその後、モジュールを使用して Python 内でこれを自分で実行し、必要な方法で制御できます。

于 2013-07-16T14:53:44.393 に答える