導航:首頁 > 程序命令 > 解析命令行參數

解析命令行參數

發布時間:2022-09-15 00:00:27

A. 【R基礎】R腳本解析命令行參數

#!/usr/bin/Rscript or #!/home/kcao/anaconda3/bin/Rscript

R接受命令的參數有三個常見的方法commandArgs()、getopt()、OptionParser()

其中第一個是R自帶的函數,後面兩個分別來自包getopt和optparse。

這是個R的 內置命令 ,和perl的@ARGV或者和python的sys.argv類似,就是將來自於命令的參數存入向量(數組)中。但是與perl和python的不同,它的前面幾個元素不是命令行的參數,先嘗試列印一下這個參數是怎樣的。

對於參數的位置是可變的,在 R所在路徑 R腳本的路徑 這兩個參數之間是Rscript的參數,這些參數的數量是 可變的. 輸入的參數是從第 6 個開始

這樣一來就會導致R腳本的參數的索引不固定,針對這種情況,你也可以添加一個參數來削掉R腳本參數之前的參數了。

Python模塊學習——optparse

使用之前安裝包

其中的方法OptionParser()的用法為:其中最重要的參數是option_list,這個參數接受一個列表,這個列表是被用來描述命令參數的解析方式的。

運行腳本,查看幫助信息:

查看默認參數:

提供參數值:

B. python2.7 怎麼解析命令行輸入的中文參數

本文實例講述了python讀取命令行參數的方法。分享給大家供大家參考。具體分析如下:
如果想對python腳本傳參數,python中對應的argc, argv(c語言的命令行參數)是什麼呢?
需要模塊:sys
參數個數:len(sys.argv)
腳本名: sys.argv[0]
參數1: sys.argv[1]
參數2: sys.argv[2]
test.py:
import sys
print "腳本名:", sys.argv[0]
for i in range(1, len(sys.argv)):
print "參數", i, sys.argv[i]
>>>python test.py hello world

腳本名:test.py
參數 1 hello
參數 2 world
python中使用命令行選項:
例如我們需要一個convert.py腳本。它的作用是處理一個文件,並將處理後的結果輸出到另一個文件中。
要求該腳本滿足以下條件:
1.通過-i -o選項來區別參數是輸入文件還是輸出文件.
>>> python convert.py -i inputfile -o outputfile
2.當不知道convert.py需要哪些參數時,用-h列印出幫助信息
>>> python convert.py -h
getopt函數原形:
getopt.getopt(args, options[, long_options])
convert.py:
import sys, getopt
opts, args = getopt.getopt(sys.argv[1:], "hi:o:")
input_file=""
output_file=""
for op, value in opts:
if op == "-i":
input_file = value
elif op == "-o":
output_file = value
elif op == "-h":
usage()
sys.exit()

代碼解釋:
a) sys.argv[1:]為要處理的參數列表,sys.argv[0]為腳本名,所以用sys.argv[1:]過濾掉腳本名。
b) "hi:o:": 當一個選項只是表示開關狀態時,即後面不帶附加參數時,在分析串中寫入選項字元。當選項後面是帶一個附加參數時,在分析串中寫入選項字元同時後面加一個":"號。所以"hi:o:"就表示"h"是一個開關選項;"i:"和"o:"則表示後面應該帶一個參數。
c) 調用getopt函數。函數返回兩個列表:opts和args。opts為分析出的格式信息。args為不屬於格式信息的剩餘的命令行參數。opts是一個兩元組的列表。每個元素為:(選項串,附加參數)。如果沒有附加參數則為空串''。
getopt函數的第三個參數[, long_options]為可選的長選項參數,上面例子中的都為短選項(如-i -o)
長選項格式舉例:
--version
--file=error.txt
讓一個腳本同時支持短選項和長選項
getopt.getopt(sys.argv[1:], "hi:o:", ["version", "file="])
希望本文所述對大家的Python程序設計有所幫助。

C. python程序使用()模塊解析命名的命令行參數

摘要 親您好,很高興為您解答,由於是標准庫,所以不需要安裝,直接使用:

D. 2、cmd命令行參數解析

gojvm目錄
1、搭建go環境
2、cmd命令行參數解析
3、搜索class文件
4、添加testOption 便於單元測試
5、解析classfile文件
6、運行時數據區
7、指令集
8、解釋器
9、創建Class
10、類載入器
11、對象實例化new object
12、方法調用和返回
13 類初始化
14、jvm支持數組
15、jvm支持字元串-數組擴展
16、本地方法調用
17、ClassLoader原理
18、異常處理
19、 啟動jvm

cmd.go

main.go

測試命令 run.sh

go命令

https://github.com/yinlingchaoliu/jvmgo.git
提交標簽 "cmd"

E. Python語言命令行參數解析接收參數執行腳本的三種方法

在Windows系統上,Python腳本文件當然雙擊就能直接運行。不過我們往往需要在執行腳本的時候還要添加相應的參數,另外在Ubuntu系統中,我們執行文件往往和其他系統或用戶命令一樣,需要在終端中輸入,參數當然也要一並加上。所以機智客這里說的意思是,執行Python腳本(.py文件)時候需要輸入相應參數,這樣程序怎麼寫的方法。

上面這么說可能有點不明不白的,或者有朋友會用但未必知道命令行解析這種表達方式。舉個例子,比如我們在執行一個腳本文件的時候,可能會在CMD或者終端中輸入python demo.py 10或者python demo.py --separator 10後面這個數字就是參數。我們要編寫這樣的腳本或者函數,有哪些方法呢?這里列舉三種常用的。

一個是用系統模塊sys。引入模塊語句是import sys。也就是Python語言的內置庫中的sys.argv。argv通常有argv[0],argv[1],argv[2]這樣幾個參數。基本使用方法是m_sil_len = int(sys.argv[1])傳入第一個參數,sil_th = int(sys.argv[2])傳入第二個參數。如果是簡單一點的參數或者腳本,我們引入了sys。可以直接用這個傳入參數。

一種是用模塊argparse來實現,這是標准庫中推薦的命令行解析模塊。引入模塊語句是import argparse。基本使用方法是引入模塊後,先parser = argparse.ArgumentParser()創建對象,然後調用方法添加參數parser.add_argument("jzk", help="這是關於參數的說明", type=int),之後args = parser.parse_args()使用解析就可以用了。機智客看到這個方法在很多項目腳本中使用。我們在閱讀機器學習AI之類的開源項目,就會發現很多人用的都是這個方法。

還有一個就是用fire模塊,用於生成命令行界面的工具。引入模塊語言是import fire。它默認以-為參數分隔符的。基本使用方法是fire.Fire()。這個不僅可以做命令行的參數解析,還可以還給一個類class添加命令行。所以使用時候括弧里填入函數名或者類名即可,也就是裡面的參數可以是其他Python對象。

F. 如何在Windows程序中解析命令行參數,win下的getopt

往往我們在安裝Windows 98時,通常會在命令行狀態下輸入Setup命令進行安裝,然後運行Scandisk、掃描磁碟、製作啟動盤、安裝版本說明等過程,如果打算要Windows快些安裝,可以在使用Setup命令的時候,使用一些參數,從而達到快速安裝Windows 98的目的。
Setup的參數主要包括以下幾個參數: /t:tmp:指定存放臨時文件的目錄 /id:跳過磁碟空間檢查 /ie:不製作啟動盤 /ih:不檢查注冊表 /im:跳過內存檢查 /is:不執行磁碟掃描 /iv:安裝時不顯示版本說明

我們想快速安裝Windows 98,就可以輸入命令:setup /id/ie/ih/im/is/iv,這樣安裝程序就會直接進入文件復制過程,從而省下了大量的安裝時間。

G. 如何在C++中解析命令行參數

C++內的命令行參數儲存在main函數中的argv參數中 而argc儲存了命令行參數個數 由系統在執行時動態分配

實例:

#include<cstdio>
/*
*argc:命令行參數個數
*argv:儲存了所有命令行參數,其中第一個(即argv[0])為當前可執行文件名
*/
intmain(intargc,char*argv[])
{
inti;
for(i=0;i<argc;i++)
if(argv[i]=="test")
puts("Foundargument'test'");
return0;
}

H. python2.7 怎麼解析命令行輸入的中文參數

RT,猜測需要先解碼然後編碼,但測試了一下一直報錯,求解。
命令行:下載某網站上指定關鍵詞的圖書的信息
python downloadBook.py -n 紅樓夢

報錯信息:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xbb in position 0: invalid start byte

代碼,錯誤發生在第3行:

if __name__ == "__main__": if sys.argv[1] == "-n":
bookname = sys.argv[2]
bookUrls = collectUrls(bookname) for i in range(len(bookUrls)):
book = downloadBook(i, bookUrls[i])

很簡單,utf8沒法解碼,你可以試試gbk,gb2312

I. 如何在Windows程序中解析命令行參數,win下的getopt

getopt在win32、64位環境下都是可以使用,只要包含stdlib.h,使用_argc,__argv兩個參數即可,下面示例:
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
Test(__argc,__argv);
return 0;
}
上面的代碼同樣適用於BCB6。

J. java怎麼解析命令行參數

用慣了控制台的java程序之後,最印象深刻的是其的簡單與快捷,雖沒有圖形界面那樣吸引人的眼球,但卻也足以迷倒眾生。那麼java命令行參數有哪些呢?跟gkstk小編一起來學習吧!
控制台程序的運行少不了要通過控制台來傳遞參數,譬如:
Sh代碼
ls -la
這是shell腳本的常用命令,其就是通過後置參數來傳遞相關信息。UNIX環境為C語言中提供了getopt()這樣的函數可以解析後置參數,這個函數是很實用很強大的,但Java就...(我Google了一下,倒沒有怎麼找出來)。大概是這個功能對Java來說太不足掛齒了吧,但總得有個解決方法才行。
下面就是一個代碼實例,用以說明。
這個實例運行的結果是運行在控制台,並允許可選的輸入參數:
Sh代碼
java TestOpt -i 89 -b -s TestString
那麼就會設置幾個prarameter的值
Java代碼
public class TestOpt {
public static void main(String[] args) {
/*
* 這里先取默認值,因為不是所有參數都會被用戶提供
*/
boolean prarameter1 = false;
int prarameter2 = 0;
String prarameter3 = "";
/*
* 設置一個offset變數,用來定位相關信息
*/
int optSetting = 0;
for (; optSetting < args.length; optSetting++) {
if ("-b".equals(args[optSetting])) {
prarameter1 = true;
} else if ("-i".equals(args[optSetting])) {
prarameter2 = Integer.parseInt(args[++optSetting]);
} else if ("-s".equals(args[optSetting])) {
prarameter3 = args[++optSetting];
}
}
/*
* 這里我只是列印出來相關的設置信息,具體的行為肯定是要自己取定義打
*/
System.out.println(prarameter1);
System.out.println(prarameter2);
System.out.println(prarameter3);
}
}
這種類似的方法估計應該有很多吧,但這個應該算是比較輕量級的。當然若參數非常多(同時也得進行驗證輸入)

閱讀全文

與解析命令行參數相關的資料

熱點內容
安卓手機相機怎麼提取文字 瀏覽:217
如何查看伺服器映射的外網地址 瀏覽:975
圖片刺綉演算法 瀏覽:661
阿里雲伺服器沒有實例 瀏覽:601
綿陽有沒有什麼app 瀏覽:844
怎麼用游俠映射伺服器 瀏覽:917
為什麼無意下載的app無法刪除 瀏覽:304
word2007打開pdf 瀏覽:117
php正則class 瀏覽:736
怎麼在文件夾查找一堆文件 瀏覽:543
核酸報告用什麼app 瀏覽:791
u8怎麼ping通伺服器地址 瀏覽:994
安卓什麼手機支持背部輕敲調出健康碼 瀏覽:870
程序員抽獎排行 瀏覽:744
扭蛋人生安卓如何下載 瀏覽:724
什麼app文檔資源多好 瀏覽:924
黑馬程序員APP 瀏覽:148
掌閱小說是哪個app 瀏覽:47
如何把u盤的軟體安裝到安卓機 瀏覽:1000
php跑在什麼伺服器 瀏覽:126