Python argparse 布尔问题
Python argparse boolean issue
我在设置布尔值时遇到问题。我的代码是:
training_pages_list_file = ''
html_page_dir = ''
clf_file_str = ''
user_idf_param = False
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Classify some CraigsList Pages')
parser.add_argument('csv_file', action='store')
parser.add_argument('file_dir', action='store')
parser.add_argument('clf_file', action='store')
parser.add_argument('-i', action='store_true', help="include idf", dest=user_idf_param, default=False)
args = parser.parse_args()
但是,这引发了:
hon3.4/argparse.py", line 1721, in parse_args
args, argv = self.parse_known_args(args, namespace)
File "/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/argparse.py", line 1742, in parse_known_args
if not hasattr(namespace, action.dest):
TypeError: hasattr(): attribute name must be string
如果包含 -i
,我怎样才能得到它,它会将 user_idf_param
设置为 True
?
看起来 user_idf_param
应该是属性的名称,告诉您它是否被使用。
import argparse
training_pages_list_file = ''
html_page_dir = ''
clf_file_str = ''
user_idf_param = "i_param_used"
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Classify some CraigsList Pages')
parser.add_argument('csv_file', action='store')
parser.add_argument('file_dir', action='store')
parser.add_argument('clf_file', action='store')
parser.add_argument('-i', action='store_true', help="include idf", dest=user_idf_param, default=False)
args = parser.parse_args((...))
if args.i_param_used:
...
我在设置布尔值时遇到问题。我的代码是:
training_pages_list_file = ''
html_page_dir = ''
clf_file_str = ''
user_idf_param = False
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Classify some CraigsList Pages')
parser.add_argument('csv_file', action='store')
parser.add_argument('file_dir', action='store')
parser.add_argument('clf_file', action='store')
parser.add_argument('-i', action='store_true', help="include idf", dest=user_idf_param, default=False)
args = parser.parse_args()
但是,这引发了:
hon3.4/argparse.py", line 1721, in parse_args
args, argv = self.parse_known_args(args, namespace)
File "/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/argparse.py", line 1742, in parse_known_args
if not hasattr(namespace, action.dest):
TypeError: hasattr(): attribute name must be string
如果包含 -i
,我怎样才能得到它,它会将 user_idf_param
设置为 True
?
看起来 user_idf_param
应该是属性的名称,告诉您它是否被使用。
import argparse
training_pages_list_file = ''
html_page_dir = ''
clf_file_str = ''
user_idf_param = "i_param_used"
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Classify some CraigsList Pages')
parser.add_argument('csv_file', action='store')
parser.add_argument('file_dir', action='store')
parser.add_argument('clf_file', action='store')
parser.add_argument('-i', action='store_true', help="include idf", dest=user_idf_param, default=False)
args = parser.parse_args((...))
if args.i_param_used:
...