我想從newreg.py中讀取變量(例如state,district,dcode等,一個長列表,然後從Web表單中提取數據)插入到insertNew.py中。python list substring
我目前已將整個文件讀入名爲'lines'的列表中。現在,如何從列表'行'中篩選每個變量(如狀態,分區等約50-55個變量,這個'list'也有html代碼,因爲我已經讀完了整個網頁)?
有沒有更好的方法來做到這一點?
一旦我能夠讀取每個變量,我需要連接這些值(轉換爲字符串)並插入到MongoDB中。
最後,當數據已插入到數據庫中時,會打開「home.py」頁面。
我給出的細節,使一個完整的畫面可用於某些解決方案,可以給。我希望它能夠保持簡單和完整。
我想遍歷列表(下面的示例)並篩選出變量(在'='符號值之前)。以下是在 'newreg.py':
狀態= form.getvalue( '州', 'ERROR')
區= form.getvalue( '區', '錯誤')
DCODE =形式。的GetValue( 'DCODE', '錯誤')
我讀文件/頁面到一個列表
fp = open('/home/dev/wsgi-scripts/newreg.py','r')
lines = fp.readlines()
,這樣我可以創建字典插入到MongoDB.eg。
info = {'state':州,'區':區,。 。 。 。 } { 鍵:值} [值意味着---這是從上述列表中的變量]
由於
,但我正在以下錯誤,當我做
print getattr(newreg, 'state')
錯誤是
>>> print getattr(newreg, 'state')
Traceback (most recent call last):
File "<stdin>", line 1, in module
AttributeError: 'module' object has no attribute 'state'
我也試過
>>> print newreg.state
Traceback (most recent call last):
File "<stdin>", line 1, in module
AttributeError: 'module' object has no attribute 'state'
這是我如何添加模塊
>>> import os,sys
>>> sys.path.append('/home/dev/wsgi-scripts/')
>>> import newreg
>>> newreg_vars = dir(newreg)
>>> print newreg_vars
['Connection', 'Handler', '__builtins__', '__doc__', '__file__', '__name__',
'__package__', 'application', 'cgi', 'datetime', 'os', 'sys', 'time']
處理程序在上面的列表是在以下
#!/usr/bin/env python
import os, sys
import cgi
from pymongo import Connection
import datetime
import time
class Handler:
def do(self, environ, start_response):
form = cgi.FieldStorage(fp=environ['wsgi.input'],
environ=environ)
state = form.getvalue('state','<font color="#FF0000">ERROR</font>')
district = form.getvalue('district','<font color="#FF0000">ERROR</font>')
dcode = form.getvalue('Dcode','<font color="#FF0000">ERROR</font>')
如果newreg.py定義了有效的Python變量,爲什麼不從newreg中導入它們,然後生成字典。 –
你能更清楚地知道你想要什麼嗎?請輸入示例輸入和示例輸出。 – Wes