我需要将JSON从客户端POST到服务器.我正在使用Python 2.7.1和simplejson.客户端正在使用请求.服务器是CherryPy.我可以从服务器获取硬编码的JSON(代码未显示),但是当我尝试将JSON发送到服务器时,我得到"400 Bad Request".
这是我的客户端代码:
data = {'sender': 'Alice',
'receiver': 'Bob',
'message': 'We did it!'}
data_json = simplejson.dumps(data)
payload = {'json_payload': data_json}
r = requests.post("http://localhost:8080", data=payload)
Run Code Online (Sandbox Code Playgroud)
这是服务器代码.
class Root(object):
def __init__(self, content):
self.content = content
print self.content # this works
exposed = True
def GET(self):
cherrypy.response.headers['Content-Type'] = 'application/json'
return simplejson.dumps(self.content)
def POST(self):
self.content = simplejson.loads(cherrypy.request.body.read())
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我是Python和NLTK的新手.我正在忙于一个可以执行拼写检查的应用程序(用正确拼写的单词替换拼写错误的单词),我目前正在使用Python-2.7上的附魔库,PyEnchant和NLTK库.下面的代码是处理更正/替换的类.
from nltk.metrics import edit_distance
class SpellingReplacer(object):
def __init__(self, dict_name = 'en_GB', max_dist = 2):
self.spell_dict = enchant.Dict(dict_name)
self.max_dist = 2
def replace(self, word):
if self.spell_dict.check(word):
return word
suggestions = self.spell_dict.suggest(word)
if suggestions and edit_distance(word, suggestions[0]) <= self.max_dist:
return suggestions[0]
else:
return word
Run Code Online (Sandbox Code Playgroud)
我编写了一个函数,它接受单词列表并对每个单词执行def替换并返回单词列表但拼写正确.
def spell_check(word_list):
checked_list = []
for item in word_list:
replacer = SpellingReplacer()
r = replacer.replace(item)
checked_list.append(r)
return checked_list
>>> word_list = ['car', 'colour']
>>> spell_check(words)
['car', 'color']
Run Code Online (Sandbox Code Playgroud)
现在我不喜欢这个,因为它不是很准确,我正在寻找一种方法来实现单词的拼写检查和替换.我还需要一些可以解决像"caaaar"这样的拼写错误的东西吗?有没有更好的方法来执行拼写检查?如果是这样,他们是什么?谷歌如何做到这一点,因为他们的拼写建议非常好?有什么建议
我在分析中使用两个Jupyter笔记本来做不同的事情.在我的Scala笔记本中,我将一些已清理的数据写入镶木地板:
partitionedDF.select("noStopWords","lowerText","prediction").write.save("swift2d://xxxx.keystone/commentClusters.parquet")
Run Code Online (Sandbox Code Playgroud)
然后我去我的Python笔记本读取数据:
df = spark.read.load("swift2d://xxxx.keystone/commentClusters.parquet")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
AnalysisException: u'Unable to infer schema for ParquetFormat at swift2d://RedditTextAnalysis.keystone/commentClusters.parquet. It must be specified manually;'
Run Code Online (Sandbox Code Playgroud)
我查看了spark文档,我认为不应该要求我指定一个模式.有没有人碰到这样的事情?我保存/加载时应该做些什么吗?数据将在对象存储中登陆.
编辑:我在读取和写入时都会唱出spark 2.0.
edit2:这是在Data Science Experience的一个项目中完成的.
以下是我的数据框,其中包含多个Excel文件的值.我想做一个时间序列分析,所以我把索引作为datetimeindex.但我的索引没有根据日期安排.以下是我的数据框:
Item Details Unit Op. Qty Price Op. Amt. Cl. Qty Price.1 Cl. Amt.
Month
2013-04-01 5 In 1 Pcs -56.0 172.78 -9675.58 -68.0 175.79 -11953.96
2013-04-01 Adaptor Pcs -17.0 9.00 -152.99 -17.0 9.00 -152.99
2013-04-01 Agro Tape Pcs -2.0 26.25 -52.50 -2.0 26.25 -52.50
...
2014-01-01 12" Angal Pcs -6.0 31.50 -189.00 -6.0 31.50 -189.00
2014-01-01 13 Mm Electrical Drill Check Set -1.0 247.50 -247.50 -1.0 247.50 -247.50
2014-01-01 14" Blad Pcs -5.0 157.49 -787.45 -5.0 157.49 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ReactJS创建多行文本输入字段.我创建了这个组件:
var TextInput = React.createClass({
getInitialState: function(){
return {currentValue: this.props.children}
},
handleChange: function(event){
//handler
},
render: function(){
return (
<textarea name="body"
onChange={this.handleChange}
value={this.state.currentValue}/>
)
}
});
Run Code Online (Sandbox Code Playgroud)
我这样呈现:
# jinja2 template
React.render(
<TextInput>{{ post.body }}</TextInput>,
document.getElementById('post-editing')
);
Run Code Online (Sandbox Code Playgroud)
问题:如果{{ post.body }}是这样的话#Title \n text,textarea将它显示在一行中.我#Title text在我的textarea 看到没有换行符.<textarea>使用ReactJS 设置价值的正确方法是什么?
我正在尝试在 Python 中运行一段简单的代码,尝试将文本文件放入列表中并收到以下错误消息:
类型错误:“list”和“int”实例之间不支持“<”
这是代码:
def MAINLOOP ():
import random
listofkeywords = []
attempts = 0
complete = ([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])
while complete < 30:
question = random.randint(0,14)
print(question)
MAINLOOP()
def IMPORTKEYWORDS():
thekeywords = open("keywords.txt","r")
listofkeywords == thekeywords
Run Code Online (Sandbox Code Playgroud) 今天,在Quora上冲浪时,我遇到了python可以做的惊人事情的答案.我试图使用pyttsx 文本到语音转换器,这给了我一个No module named Win32com.client错误.
关于这个错误有很多答案,但是大多数答案还不够(至少对我而言),因为提出的解决方案不符合要求.
对于初学者,我使用的是Python2.7,并且C:/Windows/System32在我的C:/Python27/Scripts文件夹中与关键字"pywin32"相关的任何脚本中都没有DLL .我需要一个具体的解决方案
这是我到目前为止所尝试的:
>>> import pyttsx
>>> engine = pyttsx.init()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\pyttsx\__init__.py", line 39, in init
eng = Engine(driverName, debug)
File "C:\Python27\lib\site-packages\pyttsx\engine.py", line 45, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "C:\Python27\lib\site-packages\pyttsx\driver.py", line 64, in __init__
self._module = __import__(name, globals(), locals(), [driverName])
File "C:\Python27\lib\site-packages\pyttsx\drivers\sapi5.py", line 19, in <module>
import win32com.client …Run Code Online (Sandbox Code Playgroud) 我们正在废弃 Amazon.in 网站来检索任何产品的价格。所有产品的“span”标签中的“id”属性都有不同的值,例如;
id = 'priceblock_ourprice', id = 'priceblock_saleprice', and id = 'priceblock_dealprice'.
Run Code Online (Sandbox Code Playgroud)
我们的任务是使用 Beautiful Soup 中的 find_all(..) 方法检索产品的价格。根据我们的基础知识,我们只能向 find_all(..) 方法提供一个参数,如下所示:
m = soup1.find_all('span', {'id': 'priceblock_ourprice'})
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 OR 条件向 find_all(..) 方法提供多个参数?
以下是具有相同“id”属性的不同值的链接:
感谢您的帮助!
我正在使用 Python selenium 来自动化我的出勤记录。它工作正常,现在我想通过修改源代码来尝试。我看到很少有帖子说它可以使用修改driver.execute_script()并且适用于 JavaScript,但在我的情况下,我需要修改select标签下的源代码。我能够使用inspect element. 以下是select标签源码:
<select name="date1">
<option value="2016-09-17">2016-09-17</option>
<option value="2016-09-16">2016-09-16</option>
<option value="2016-09-14">2016-09-14</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我试着用driver.execute_script(). 以下是我的代码:
sel = driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/form/table/tbody/tr[2]/td[3]/select')
input_list = sel.find_element_by_tag_name('option')
cmd = "input_list.value = '2016-09-07'"
driver.execute_script(cmd)
Run Code Online (Sandbox Code Playgroud)
但是上面的代码给了我以下错误:
selenium.common.exceptions.WebDriverException:消息:input_list 未定义
我可以使用inspect element窗口修改源代码。有没有办法使用selenium修改源代码?
我最近开始使用 VSCode,我真的很喜欢它。我在谷歌上搜索了我的问题,并没有找到与 VSCode 相关的任何答案。
考虑我有以下代码:
if (a === 'some condition')
return true
else
return false
Run Code Online (Sandbox Code Playgroud)
如果我想交换或切换返回,即,我选择true和false并且是否有任何键盘快捷键或键绑定来交换我的选择。
任何帮助将不胜感激。
python ×7
python-2.7 ×2
apache-spark ×1
cherrypy ×1
date ×1
html ×1
javascript ×1
jinja2 ×1
json ×1
nltk ×1
pandas ×1
pyenchant ×1
pyspark ×1
python-3.x ×1
pyttsx ×1
reactjs ×1
scala ×1
selenium ×1
sorting ×1