`argparse` 读取本地文件的值,而不是字符串
Value of `argparse` reading local files, instead of string
import argparse
if __name__=='__main__':
parser= argparse.ArgumentParser()
parser.add_argument('--template')
args= parser.parse_args()
print(args.template)
above_file.py --template sub-*/my/file.txt
读取模式描述的所有文件,而不是字符串 sub-*/my/file.txt
。我只想阅读字符串。我通过将值包含在 " "
中找到了解决方法。但我想知道是否可以在 add_argument
内部做些什么来防止这种情况发生。
很遗憾,无法完成。该模式由您的 shell 扩展,从您的 python 脚本中您无法知道您的脚本是否被称为
python above_file.py --template sub-*/my/file.txt
或
python above_file.py --template sub-1/my/file.txt sub-2/my/file.txt sub-3/my/file.txt
您可以在 shell 上做什么:Stop shell wildcard character expansion?
import argparse
if __name__=='__main__':
parser= argparse.ArgumentParser()
parser.add_argument('--template')
args= parser.parse_args()
print(args.template)
above_file.py --template sub-*/my/file.txt
读取模式描述的所有文件,而不是字符串 sub-*/my/file.txt
。我只想阅读字符串。我通过将值包含在 " "
中找到了解决方法。但我想知道是否可以在 add_argument
内部做些什么来防止这种情况发生。
很遗憾,无法完成。该模式由您的 shell 扩展,从您的 python 脚本中您无法知道您的脚本是否被称为
python above_file.py --template sub-*/my/file.txt
或
python above_file.py --template sub-1/my/file.txt sub-2/my/file.txt sub-3/my/file.txt
您可以在 shell 上做什么:Stop shell wildcard character expansion?