我有一个url的json数据,我转换了inti python字典,并使用for循环我从url提供的json数据中提取信息。但是如果需要添加更多的print语句我必须每次编辑源代码时间。是否有任何方式我用来从内部的url中获取json数据的变量来自一个设置文件。它可以是任何类型。
我需要这样做,因为如果需要添加一些更改,我会在不在源代码中的设置文件中执行这些更改
来自ConfigParser导入SafeConfigParser
import urllib2
导入simplejson
responseFromMetataste = urllib2.urlopen(“http://metataste.com/do? 行动= SRCH&安培;想= gnr_4dd3faa9237e1e43c5a416f9&安培; nmht = 2及OFST = 0&安培;卡= appMovieCard“)读()
parseResponseString = simplejson.loads(responseFromMetataste)
parser = SafeConfigParser()
parser.read( “SETTINGS.TXT”)
K = parseResponseString [ '结果']
表示范围内的y(len(k)):
打印“电影”+ str(y + 1)
print(“Movie_Title:”+(k [y] [parser.get('Details','Trailer')] [0] [parser.get('Movie_Details','M_Title')])))
if (parser.get('Movie_Flags','M_url'))=='True' :
print ("Movie_URL :"+(k[y][parser.get('Details','Trailer')][0][parser.get('Movie_Details','M_url')]))
if (parser.get('Movie_Flags','M_Id'))=='True' :
print ("Movie_ID :"+(k[y][parser.get('Details','Trailer')][0][parser.get('Movie_Details','M_Id')]))
if (parser.get('Movie_Flags','M_Lang'))=='True' :
print ('Movie_Lang :'+(k[y][parser.get('Details','Ttl')][parser.get('Details','Languages')][0]))
if (parser.get('Movie_Flags','M_summary'))=='True' :
print ('Movie_Summary :'+(k[y][parser.get('Details','Synopsis')]))
if (parser.get('Movie_Flags','M_Genre'))=='True' :
print ('Movie_Genre :'+(k[y][parser.get('Details','Genre')][0][parser.get('Movie_Details','M_Genre')]))
if (parser.get('Movie_Flags','Yr_Release'))=='True':
print ('Year_of_release :'+str(k[y][parser.get('Details','Yor')]))
if (parser.get('Movie_Flags','Poster_Url'))=='True' :
print ('poster_url :'+str(k[y][parser.get('Details','Posters')][2][parser.get('Movie_Details','Poster_Url')]))
XXXX XXXX .......................................... ... ..................................... XXXX
settings.txt文件
[详细] TTL = TTL
拖车挂车=
语言= LNGS
概要= SYNP
类型= GNR
约书=年
海报=海报
[Movie_Flags]
M_Title =真
M_url =真
M_ID =真
M_Lang =真
M_summary =真
M_Genre =真
Yr_Release =真
Poster_Url =真
[Movie_Details]
M_Title = TTL
M_url = URL
M_ID = _id
M_Lang = LNGS
M_summary =真
M_Genre =纳米
Yr_Release =年
新设置文件
VAR1 =真:标题: 'sometitle'
VAR2 =真:标题: 'sometitle'
VAR3 =真:标题: 'sometitle'
在for循环期间应从设置文件中读取这些值 在for循环期间,我需要通过将var1,var2,var3 .......传递到某个函数来获取这些值,我需要使用python执行所有这些步骤。
答案 0 :(得分:0)
您可以使用提到的任何文件类型。它只取决于您想要编写的效率方面的代码量。我假设你也将维护代码!
我的建议是使用csv文件。读取一行并将其拆分为','逗号字符。 split方法应该给你一个包含var1,var2,...等的数组。
通过这种方式,您可以循环该数组并将其传递给任何其他方法。