7

重複の可能性:
コマンドラインからメタ文字を引数として Python に渡す

コマンドラインから python スクリプトにパラメーターを渡して、入力ファイルの区切りを指定したいと考えています。(例:","または"\t")。柔軟性のために、このパラメーターのオプションをスクリプトにコーディングするのではなく、コマンド ラインで直接指定したいと思います。

例えば

pythonscript.py --in_delimiter "\t" --in_file input.txt

Pythonが受け取る前にバックスラッシュが解釈されることに問題があるようです。バックスラッシュを追加してこれを回避しようとしましたが、機能しませんでした。

私の質問:コマンド ラインから "\t" のようなものを渡すことは可能ですか、それともスクリプト内で解釈するコード (c = ","またはt= "\t"など)を使用する必要がありますか?

ご協力いただきありがとうございます。

4

2 に答える 2

9

Bashでやっていますか?その場合は、次を試してください。

pythonscript.py --in_delimiter $'\t' --in_file input.txt
于 2013-01-10T05:32:38.500 に答える
2

unix/linux では、タブを渡すのは簡単です。これは空白であるため、引用する必要があります。

リテラル タブを入力するには、次を使用します。ctrl-v tab

pythonscript.py --in_delimiter "   " --in_file input.txt
                                 ^
                                 | this is `ctrl-v` `tab`

あるいは、特別なケースのマッピングを持つことができます

pythonscript.py --in_delimiter TAB --in_file input.txt

このようなコードで扱うもの

in_delimiter = {"TAB": "\t", "COMMA": ","}.get(in_delimiter, in_delimiter)
于 2013-01-10T05:32:49.750 に答える