Python Forum
Passing List of Objects in Command Line Python
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Passing List of Objects in Command Line Python
#7
I will be like this,not so easy to pass all this trough command line Windows.
There may be a better way if i had use Click,and maybe pass a file object instead.

Make argument
lst = [{"name": "productname_0", "type": "html", "content": "A Cool Shirt"}, {"name": "productname_1", "type": "html", "content": "Some Nice Shoes"}, {"name": "productname_2", "type": "html", "content": "A Trendy Hat"}, {"name": "productprice_0", "type": "html", "content": "20.99"}, {"name": "productprice_1", "type": "html", "content": "50.99"}, {"name": "productprice_2", "type": "html", "content": "FREE"}]

command_lst = []
for index,item in enumerate(lst):
    command_lst.append(list(lst[index].items()))
print(f'"{command_lst}"')
# command_arg.py
import sys, ast
import json
from pprint import pprint

arg_command = sys.argv[1]
a_eval = ast.literal_eval(arg_command)
lst = []
for i in a_eval:
    d_arg = dict(i)
    lst.append(d_arg)
print(lst)

# Test json
j = json.dumps(lst)
# print(j)
load_j = json.loads(j)
pprint(load_j)
Command line:
Output:
C:\code\json_commandline λ python command_arg.py "[[('name', 'productname_0'), ('type', 'html'), ('content', 'A Cool Shirt')], [('name', 'productname_1'), ('type', 'html'), ('content', 'Some Nice Shoes')], [('name', 'productname_2'), ('type', 'html'), ('content', 'A Trendy Hat')], [('name', 'productprice_0'), ('type', 'html'), ('content', '20.99')], [('name', 'productprice_1'), ('type', 'html'), ('content', '50.99')], [('name', 'productprice_2'), ('type', 'html'), ('content', 'FREE')]]" [{'name': 'productname_0', 'type': 'html', 'content': 'A Cool Shirt'}, {'name': 'productname_1', 'type': 'html', 'content': 'Some Nice Shoes'}, {'name': 'productname_2', 'type': 'html', 'content': 'A Trendy Hat'}, {'name': 'productprice_0', 'type': 'html', 'content': '20.99'}, {'name': 'productprice_1', 'type': 'html', 'content': '50.99'}, {'name': 'productprice_2', 'type': 'html', 'content': 'FREE'}] [{'content': 'A Cool Shirt', 'name': 'productname_0', 'type': 'html'}, {'content': 'Some Nice Shoes', 'name': 'productname_1', 'type': 'html'}, {'content': 'A Trendy Hat', 'name': 'productname_2', 'type': 'html'}, {'content': '20.99', 'name': 'productprice_0', 'type': 'html'}, {'content': '50.99', 'name': 'productprice_1', 'type': 'html'}, {'content': 'FREE', 'name': 'productprice_2', 'type': 'html'}]
Reply


Messages In This Thread
RE: Passing List of Objects in Command Line Python - by snippsat - Sep-27-2020, 03:44 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Problems passing arguments containing spaces to bash script and then on to python kaustin 6 465 Apr-03-2024, 08:26 PM
Last Post: deanhystad
  Python Alteryx QS-Passing pandas dataframe column inside SQL query where condition sanky1990 0 767 Dec-04-2023, 09:48 PM
Last Post: sanky1990
  Command line argument issue space issue mg24 5 1,362 Oct-26-2022, 11:05 PM
Last Post: Yoriz
  Creating list of lists, with objects from lists sgrinderud 7 1,716 Oct-01-2022, 07:15 PM
Last Post: Skaperen
  accept command line argument mg24 5 1,366 Sep-27-2022, 05:58 PM
Last Post: snippsat
Question Keyword to build list from list of objects? pfdjhfuys 3 1,607 Aug-06-2022, 11:39 PM
Last Post: Pedroski55
  How to store the resulting Doc objects into a list named A xinyulon 1 1,917 Mar-08-2022, 11:49 PM
Last Post: bowlofred
  multi-line CMD in one-line python kucingkembar 5 4,071 Jan-01-2022, 12:45 PM
Last Post: kucingkembar
  Grouping and sum of a list of objects Otbredbaron 1 3,251 Oct-23-2021, 01:42 PM
Last Post: Gribouillis
  Accessing varying command line arguements Rakshan 3 2,079 Jul-28-2021, 03:18 PM
Last Post: snippsat

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020