在Python中获取命令行

Nic*_*ick 1 python bash command-line

所以我正在研究这个项目,我从用户那里获取输入(文件名),然后打开并检查内容.文件名是"cur"现在假设我的文件的名称是kb.py(它在python中)如果我在我的终端上运行它然后我会做:python kb.y然后会有一个提示,用户将给出输入.我会这样做的:

A = raw_input("Enter File Name: ")
b = open(A, 'r+')
Run Code Online (Sandbox Code Playgroud)

我不想这样做.相反,我想用它作为命令,例如: python kb.py cur,它将把它作为输入并保存到一个变量然后将打开它.我很困惑如何在同一命令行中获取输入.

Ósc*_*pez 5

只需使用sys.argv,像这样:

import sys

# this part executes when the script is run from the command line
if __name__ == '__main__':
    if len(sys.argv) != 2: # check for the correct number of arguments
        print 'usage: python kb.py cur'
    else:
        call_your_code(sys.argv[1]) # first command line argument
Run Code Online (Sandbox Code Playgroud)

注意:sys.argv[0]是脚本的名称,sys.argv[1]是第一个命令行参数.等等,如果有更多的论点.