我是 Modbus python 的新手,现在我对我的第一步有一些疑问
剧本:
from pymodbus.client.sync import ModbusTcpClient
host = '10.8.3.10'
port = 502
client = ModbusTcpClient(host, port)
client.connect()
#Register address 0x102A (4138dec) with a word count of 1
#Value - MODBUS/TCP Connections
#Access - Read
#Description - Number of TCP connections
request = client.read_holding_registers(0x3E8,10,unit=0)
response = client.execute(request)
print response
#print response.registers
print response.getRegister(12)
print response.registers[8]
client.close()
Run Code Online (Sandbox Code Playgroud)
结果:
============= RESTART: D:\Users\mxbruckn\Desktop\read_modbus.py =============
ReadRegisterResponse (38)
0
0
>>>
Run Code Online (Sandbox Code Playgroud)
现在的问题:
我从寄存器 1000, 10 Words, with slave number 0 中读取。这是正确的,但是值 38 是什么意思 …
我有一个按姓名搜索的功能,如果搜索与名字或姓氏匹配,则应该返回一个人的姓名.问题是,如果我搜索像'firstname lastname'这样的字符串,它找不到匹配的名称(猜测是因为单词之间的空格).我应该怎么做才能找到合适的搜索?此外,如果我想用相同的搜索搜索用户名(在另一个表中)我该怎么办?非常感谢!
我的代码:
def search(request):
query = request.GET.get('q', '')
if query:
qset1 = (
Q(first_name__icontains=query) |
Q(last_name__icontains=query)
)
results = UserProfile.objects.filter(qset1).distinct()
else:
results = []
return render_to_response("search/searchName.html", {
'results': results,
'query': query},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud) 我有一个表单,允许您选择要过滤的多个项目类型.例如,假设您有项目类型"研究","培训"和"评估".
基本上我要做的是使用Q对象构建一个查询集,如:
projects.filter(Q(type__type="Research") | Q(type__type="Training"))
Run Code Online (Sandbox Code Playgroud)
我只是不确定如何在没有filter()输入为字符串的情况下构建它,这会产生错误:
querystring = ""
for t in types:
querystring += " | Q(type__type="+t+")"
projects.filter(querystring) ## produces error: "ValueError: too many values to unpack"
Run Code Online (Sandbox Code Playgroud)
那么,什么是迭代类型以创建具有Q对象的查询集的方法?
这个问题似乎经常被问到,但对我的问题仍然没有令人满意的答案.因此,我希望你能帮助我.
在Ubuntu LTE 13.04下打开终端时出现以下错误:
意外令牌
done' bash: /usr/share/bash-completion/bash_completion: line 225:
完成附近的语法错误'
我检查了具体的'bash_completion' - 看起来很好.此外,我将其缩小到我的.bashrc文件中的以下命令.
alias do='rsync -r -e ssh --exclude='file.py' user@server.xxx.de:/path/to/folder /do/here'
Run Code Online (Sandbox Code Playgroud)
虽然以下工作完全没有提出任何例外:
alias up='rsync -r -e ssh --exclude='file.py' /path/to/folder user@seerver.xxx.de:/do/here'
Run Code Online (Sandbox Code Playgroud)
我检查是否确实因为--exclude
旗帜而发生,但事实并非如此.似乎命令有问题.虽然这两个命令只是完美的做好自己的工作.只有第一个引发错误.有任何想法吗 ?
我正在尝试在django sqlite db中实现搜索.
我得到一个未知长度的参数列表,它们都应该与'LIKE'匹配.这意味着我希望所有与至少一个参数匹配的对象.
正如我从django文档中看到的那样,我可以通过使用Q对象来实现.
例:
Students.objects.get(
Q(name_contains='franz') |
Q(birthdate_date=date(2005, 5, 2) |
Q(param3_contains='lorem'
)
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,如何处理它以加入从params创建的所有Q对象作为参数传递给objects.get().我找不到这个.
这里的另一个问题是处理几种不同的Field Lookup类型.
我感谢您提供的任何建议,帮助或帮助链接.谢谢.
bash案例:
第4行:意外令牌附近的语法错误`)'
我正在尝试case
在Bash中使用该命令(再次在我的Raspberry Pi上),但是当我运行我的脚本时,Bash会发出错误.我已经阅读了很多教程,我认为我做的与他们一样,但有些事情是不对的.
这是我的代码:
#!/bin/bash
case "$1" in
help) echo "You asked for help. Sorry, I'm busy."
*) echo "You didn't say anything. Try 'help' as the first argument."
esac
Run Code Online (Sandbox Code Playgroud)
这是输出(文件名是newmkdir,我运行它没有参数):
./newmkdir: line 4: syntax error near unexpected token `)'
./newmkdir: line 4: ` *) echo "You didn't say anything. Try 'help' as the first argument."'
Run Code Online (Sandbox Code Playgroud)
我正在尝试让我的脚本解释help
,然后在下一行输出任何其他内容.
(注意这只是一个glitched脚本的例子.这个脚本没有任何意义,甚至可能没有意义,它只是一个测试.)
我正在尝试使用mongoimport将cmd中的csv文件导入到MongoDB中。
我的某些csv字段包含单个"double quotes"
这样的内容:
Dave, 25, 406-836-3336, "51 Ashleigh St, 20141123
Run Code Online (Sandbox Code Playgroud)
我希望它们要么被忽略,要么作为空字符串导入。我真的不在乎地址字段。我不在乎如何导入它,因为不会对其进行任何操作。
我真正关心的是所有行都将被导入。
当我添加{% extends "X.html" %}
到我的子模板(父级是"base.html")时,只加载父模板.当我拿走它时,加载子模板.我有另一个应用程序,我有一个看似相同的继承结构,所以我很难过.这是"base.html":
<!DOCTYPE html>
{% load staticfiles %}
<html>
<head>
{% block js %}
<script src="{{ STATIC_URL }}js/jquery.1.12.4.min.js"></script>
<script src="{{ STATIC_URL }}js/p5.js"
{% endblock %}
<title>myapp</title>
</head>
<body>
<h1>Welcome to my app</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是"grow.html"
<!DOCTYPE html>
{% extends "app/base.html" %}
{% block js %}
<script src="{{ STATIC_URL }}js/grow.js"></script>
{% endblock %}
{% block content %}
<body>
<div id="message" style="visibility: hidden;"></div>
<div id="tree"></div>
<a href="/register/">register</a>
<form method="POST">
{% csrf_token %}
<input type="text" id="txt" />
<input type="submit" …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个可调用对象,以在创建新实例时返回用于字段的默认值.
该值的逻辑取决于模型中的其他数据.我尝试创建一个单独的类,但没有找到正确的因素组合.例:
在models.py中:
Class Box(models.Model):
inv_id = models.CharField(max_length=16,default=gen_inv_id())
Run Code Online (Sandbox Code Playgroud)
可调用对象将需要查询数据库模型并增加表值.我尝试在应用程序下的单独.py模块中创建一个类,但它需要一个方法来返回一个值.在这一点上,OO不是我的强项.我认为该模型已经变得无效,并且该方法依赖于它,因此看起来像鸡/蛋的情景已经出现.
谢谢你的帮助.
当用户按下F1键时,我打算显示我们的应用程序帮助并禁止默认操作.我尝试了不同的选项,不显示IE的帮助弹出窗口.这是我的代码:
document.addEventListener('keydown', function (e) {
if (e.key === 'F1' || e.keyCode == 112) {
e.cancelBubble = true;
e.cancelable = true;
e.stopPropagation();
e.preventDefault();
e.returnValue = false;
//my help menu code goes here
}
});
Run Code Online (Sandbox Code Playgroud)
请让我知道如何显示我的应用程序的帮助页面而不是IE帮助.我使用的是IE11版本.
django ×5
django-q ×3
bash ×2
linux ×2
python ×2
case ×1
csv ×1
django-1.9 ×1
dom ×1
extends ×1
html ×1
import ×1
javascript ×1
join ×1
jquery ×1
modbus ×1
mongodb ×1
mongoimport ×1
python-2.7 ×1
querying ×1
search ×1
syntax-error ×1