命令行参数被添加到脚本路径

时间:2017-12-22 18:17:22

标签: python command-line

我正在进行书中的练习'自动化无聊的东西'并且在其中一个练习中遇到了问题。我试图编写一个带有.bat文件的程序,该文件存储在计算机剪贴板上复制的任何内容,并为其指定一个变量名称以供将来提取。但是,当我将参数输入到命令行而不是使用参数时,它会给我一个错误,它告诉我文件不存在,并且它添加了路径文件的参数。我将在下面解释:

如果我在命令行中键入以下参数:Program.py save spam命令提示符将我误认为"文件C:\\Path\Program.pysave" does not exist

这是我的程序的代码,它最多需要三个参数。

#! usr/bin/env python
import sys, shelve, pyperclip
Shelf = shelve.open('mcb')

#save whats on the clipboard
if len(sys.argv) == 3 and sys.argv[1].lower() == 'save':
    mcbShelf[sys.argv[2]] = pyperclip.paste()
elif len(sys.argv) == 2:
    if sys.argv[1].lower() == 'list':
        pyperclip.copy(str(list(mcbShelf.keys())))
        print(str(list(mcbShelf.keys())))
    elif sys.argv[1] in mcbShelf:
        pyperclip.copy(mcbShelf[sys.argv[1]])

mcbShelf.close()

这让我发疯了。非常感谢任何帮助。

0 个答案:

没有答案