Могу ли я передать «\ t» на python из командной строки?

Возможный дубликат:
Передача метасимволов в Python в качестве аргументов из командной строки

Я хочу передать параметр из командной строки в скрипт python, чтобы указать, с чем связан мой входной файл. (например, "," или "\t" ). Для гибкости я хотел бы указать его непосредственно в командной строке, а не в параметрах для этого параметра в скрипте.

например

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

Кажется, у меня возникают проблемы с интерпретацией обратной косой черты, прежде чем питон получит ее. Я попытался избежать этого, добавив дополнительные обратные косые черты, но не смог заставить его работать.

Мой вопрос: возможно ли передать из командной строки что-то вроде «\ t» или мне нужно использовать коды, которые я интерпретирую внутри скрипта (например, c = "," или t= "\t" и т. Д.).

Спасибо за вашу помощь.

Вы делаете это в Баше? Если да, попробуйте:

 pythonscript.py --in_delimiter $'\t' --in_file input.txt 

В unix / linux достаточно легко пройти вкладку. Вам нужно процитировать ее, потому что это пробел

Чтобы ввести вкладку literal, используйте вкладку ctrl-v

 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)