[英]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.