簡體   English   中英

如何正確地將python命令行參數提取到字符串中

[英]How to correctly extract python command line args into strings

我有以下 python 腳本,它想將第一個參數作為字符串接收,反轉它然后打印出來

import sys

input = sys.argv[1:]
input_reversed = input[::-1]
print("The input_reversed is: " + input_reversed)

使用像python test.py abcdef的調用運行它會得到以下錯誤:

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print("The input_reversed is: " + input_reversed)
TypeError: cannot concatenate 'str' and 'list' objects

我做錯了什么? sys.argv[1:]不返回字符串?

我只想調用python test.py abcdef並將輸出作為fedcba ,這是abcdef的反向。

如果您希望反轉每個參數的內容,除了反轉參數本身的順序之外還可以將所有參數連接到一個字符串中,然后反轉該字符串:

print("The reversed input is: " + ' '.join(sys.argv[1:])[::-1])

注意這里的操作順序。 它可以用更多的中間步驟編寫為:

args_list = sys.argv[1:]
args_string = ' '.join(args_list)
reversed_args_string = args_string[::-1]
print("The reversed input is: " + reversed_args_string)

不,它返回一個列表。 您可以使用join()將列表連接在一起。 嘗試這個:

print("The input_reversed is: " + ', '.join(input_reversed))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM