按照我之前的問題:ValueError: unsupported format character ',我有另一個問題。希望值得的SO。如何使用循環python將多個字符串解析爲字符串變量
下面是應該給你什麼,我想做一個味代碼:
import argparse
title = 'Title'
content='\centerline{\Large %(title)s}'
parser=argparse.ArgumentParser()
parser.add_argument('--title', default=title)
for i in range(0,4):
number = str(2456*i)
content = content + '''
%(number)s'''
parser.add_argument('--number', default=number)
content = content + '''
\end{document}'''
args=parser.parse_args()
content%args.__dict__
print content%args.__dict__
print ' '
print args.__dict__
它提供了以下的輸出:
\centerline{\Large Title}
7368
7368
7368
7368
\end{document}
{'number': '7368', 'title': 'Title'}
它的工作原理,但數字都是相同。我最終想做的就是將其他地方生成的數字放在變量中。用python自動生成一個乳膠表。
這是最新的嘗試。這是相當醜陋..
import argparse
title = 'Title'
content='\centerline{\Large %(title)s}'
number_dict = dict()
for i in range(0,4):
number_dict[i] = str(2456*i)
content = content + '''
%(number_dict[i])s'''
content = content + '''
\end{document}'''
parser=argparse.ArgumentParser()
parser.add_argument('--title', default=title)
parser.add_argument('--' + number_dict[i], default=number_dict[i])
args=parser.parse_args()
content%args.__dict__
print content%args.__dict__
print ' '
print args.__dict__
任何想法?
編輯:
1)我相信我已經解決了這個問題,就目前而言,看到的第一個評論。但問題仍然很有趣。
2)此代碼不適用於命令行。
3)我想用它來輸入表格的條目。可能有很多條目,所以我不想按照在ValueError: unsupported format character '和參考問題中所做的方式對每行數據進行硬編碼以包含在latex文檔中。
這樣說吧:在工作上面代碼中,語法:
%(number)s
連同:
parser.add_argument('--number', default=number)
是用來放置字符串「號」到乳膠代碼。我想在一個循環中實現這一點,以便我可以首先將string1放入latex代碼,然後是string2,然後是string3,等等,就像我一樣。可能是20個不同的字符串,可能是35,可能是4.可以將所有這些不同的字符串放在乳膠代碼中(比如在表格的每個單元格中),只有一個等同於代碼段的實例:%數字)s,以及一個等同於代碼段的實例:parser.add_argument(' - number',default = number)在循環中?
你可以看到我試圖通過重新定義「number」作爲一個字典,並告訴python插入字典的哪個條目。
我希望更清楚。
替代解決方案我只是想到了..將所有數字存儲在一個大型變量中,然後將其插入到乳膠中。 – juggler
鑑於代碼沒有做你想做的事情;你能描述一下你想用簡單的英語來做什麼(你的輸入是什麼,相應的輸出是什麼)? – jfs
您是否期望您的用戶輸入如下內容:'python foo.py --title xxx --2456 something --4912 else'?在最終的「內容」中,「某物」將取代默認值「2456」? – hpaulj