0

私は Python プログラミングの初心者です。コマンド ライン (cmd) を使用して、複雑なオブジェクト (Python 辞書またはクラス オブジェクト) を引数として Python スクリプトに渡したいと考えています。sys.argvは文字列パラメーターのみを取得することがわかります。

これが私が欲しいものの例です:

class point(object):
     def __init__(self,x,y):
         self.__x=x
         self.__y=y
p=point(4,8)
import os
os.system('""xxxxxx.exe" "-s" "../create_scenario.py" "'+ p +'""')

xxxxxx.exe は、-s オプションを使用して python スクリプトを実行することを受け入れるプログラムです。全てに感謝!!!

4

2 に答える 2

0

使用できますeval

my_dict = eval(sys.argv[1])
print(my_dict)

コマンドプロンプト:

$ my_script.py {1:2}
$ {1: 2}

しかし、あなたがやりたいことはお勧めできません (この投稿を参照してください)。これを避けて、代わりにデータをファイルに保存する必要があります (たとえば、 JSONを使用)。

于 2013-04-18T12:00:36.620 に答える