簡體   English   中英

在Python中以多行字符串作為命令行輸入

[英]Taking multiple lines of strings as command line input in Python

在編碼競賽中,我提供了一個初始化文件,可從中讀取初始參數。 但是,有時參數分散在以下幾行中:

x
a 
b

(它們都是整數)

現在,當我閱讀第1行時,我相信我會像這樣存儲x

x = int(sys.argv[1])

我該如何照顧其他人? sys.argv[2]會在第二行給我下一個參數嗎?

更確切地說,將使用:

par_list = sys.argv[1:].split(" ") 

給我所有行的參數列表?

這將達到目的:

>> python program.py $(cat input.txt)

示例程序:

import sys
paras = [int(x) for x in sys.argv[1:]]
print(paras)

輸入文件樣本:

42
-1
100

輸出:

>> python program.py $(cat input.txt)
[42, -1, 100]

我假設您要將輸入文件名以cmdline傳遞到python腳本。

python script.py input.txt

在這種情況下, sys.argv[1] = 'input.txt'將訪問輸入文件的內容:

with open(sys.argv[1], 'r') as f:
    lines = f.readlines()

現在, lines是一個列表,其中包含來自input.txt所有數據行。

暫無
暫無

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

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