我可以从命令行将“\ t”传递给python吗?

时间:2013-01-10 05:23:27

标签: python command-line

  

可能重复:
  Passing meta-characters to Python as arguments from command line

我想将一个参数从命令行传递给python脚本,以指定我的输入文件分隔的内容。 (例如",""\t")。出于灵活性的考虑,我想直接在命令行中指定它,而不是将此参数的选项中的代码添加到脚本中。

e.g。

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

我似乎遇到了在python收到它之前解释反斜杠的问题。我试图通过添加额外的反斜杠来逃避这一点,但却无法使其发挥作用。

我的问题:是否可以从命令行传递类似“\ t”的内容,或者我是否必须使用我在脚本中解释的代码(例如c = ","或{ {1}}等。)

感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

你是用Bash做的吗?如果是这样,请尝试:

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

答案 1 :(得分: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)