小编Jor*_*ley的帖子

从kivy android app中访问gpio

好吧我很难过,我可能没有足够的android经验,所以我不知道使用哪些权限.

我已经重新编译了android内核以暴露我需要的gpio引脚,也许我需要在内核中做一些事来解决我的问题...基本上在这一点上我不知道

可以打开adb shell/sys/class/gpio/export 141获取gpio文件夹及其文件(值,方向等).

当我在adb shell我的时候,我可以设置方向和值使用echo out>direction;echo 1>value;echo 0>value;,一切都很好,引脚驱动低或高.

我把它export 141放入init.rc,现在在启动时导出.如果我尝试从我的kivy应用程序中访问值文件,它会崩溃,并说权限被拒绝(预期)

如果我chmod 0666同时directionvalue它成功更新文件sys中的权限.

-rw-rw-rw- root     root         4096 2013-10-01 06:59 value
-rw-rw-rw- root     root         4096 2013-10-01 06:59 direction
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试从kivy(python)写入文件时,[Errno 1] Operation not permitted 如果我尝试chown将文件发送给我的应用程序用户或系统,我会得到相同的结果.我觉得我几乎尝试了所有东西,似乎无法写入/sys/class/gpio/gpio141/value或指示

permissions android gpio kivy

2
推荐指数
1
解决办法
1640
查看次数

带有bokeh vbar图的分类y轴和日期时间x轴

我想使用bokeh绘制vbar图,其中x轴使用日期时间,y轴使用分类值。

最初,我尝试如下绘制圆形图:

import pandas as pd
from datetime import datetime
from dateutil.parser import parse    
from bokeh.plotting import figure, show, output_notebook    
from bokeh.models.ranges import FactorRange

x = pd.Series(['2017/1/1', '2017/1/2', '2017/1/3', '2017/1/4']).map(lambda x: parse(x))
y = ["a", "b", "c", "a"]

p = figure(x_axis_type='datetime', y_range=list(set(y)), plot_width=400, plot_height=200)
p.circle(x, y, size=10, line_color="blue", line_width=1)
show(p)
Run Code Online (Sandbox Code Playgroud)

看起来不错,除了它不是条形的。

在此处输入图片说明

接下来,我尝试了以下代码,但未显示任何图:

x = pd.Series(['2017/1/1', '2017/1/2', '2017/1/3', '2017/1/4']).map(lambda x: parse(x))
y = ["a", "b", "c", "a"]

p = figure(x_axis_type='datetime', y_range=list(set(y)), plot_width=400, plot_height=200)
p.vbar(x=x, bottom=0, top=y, width=0.1, color="blue")

show(p)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python datetime bar-chart bokeh

2
推荐指数
1
解决办法
1157
查看次数

从python中的类调用函数

我正在尝试从python中的类调用函数.这是我的代码:

class JCMT:
    def be(self):
       if self > 330000:
         return 0.64
       else:
         return 0.69
    def bs(self):
       if self > 330000:
         return 14
       else:
         return 20 

f = 220258

print JCMT.bs(f) 
Run Code Online (Sandbox Code Playgroud)

我收到TypeError的错误:必须使用JCMT实例作为第一个参数调用unbound方法bs()(改为使用int实例)

有人能告诉我哪里出错了吗?

python class function

1
推荐指数
2
解决办法
114
查看次数

移动列表中的元素 (Python)

我正在尝试运行一个代码,将列表的值向右移动三个点。例如,我有一个列表 [1,2,3,-3,15,6,71,42] 并且我想让输出 [-3,15,6,71,42, 1,2,3] ,但程序当前的输出是 [-3, 15, 6, 71, 42, 8, 8, 8]。我找不到错误,但教授希望我只更改一行代码来修复错误。所以错误一定不难发现。除了我似乎找不到它:D

请帮忙!

def foo1(values): 
   return values[0] 

def foo2(values):        
   for i in range(1,len(values)):
      values[i-1] = values[i]
      
def foo3(values,c):
      values[len(values)-c] = len(values)
   
def main(): 
   values = [1,2,3,-3,15,6,71,42] 
   k = 3
   for r in range(k): 
      a = foo1(values)       
      foo2(values)
      foo3(values,a)
      
      
       
      
   print("Here is the shifted list to the left for " + str(k) + " time:" )
   print(values)

   
main()
Run Code Online (Sandbox Code Playgroud)

python list

1
推荐指数
1
解决办法
2120
查看次数

同构Python算法

问题:给定两个字符串 s 和 t,判断它们是否同构。

如果 s 中的字符可以替换得到 t,则两个字符串是同构的。

所有出现的字符都必须替换为另一个字符,同时保留字符的顺序。任何两个字符都不能映射到同一个字符,但一个字符可以映射到其自身。

我的代码:

def isIsomorphic(self, s, t):
    # write your code here
    remap = dict()
    if s == t:
        return True
    if len(s) !=  len(t):
        return False
    for i in range(len(s)):
        if s[i] not in remap.keys() and t[i] in remap.values():
            return False
        elif s[i] not in remap.keys():
            remap[s[i]] = t[i]
        else:
            if remap[s[i]] != t[i]:
                return False
    return True   
Run Code Online (Sandbox Code Playgroud)

错误提示:您的代码运行时间超出了我们的预期。检查你的时间复杂度。如果你的时间复杂度是最好的,那么超出时间限制通常是由无限循环引起的。

请问我如何改进我的代码

python algorithm

1
推荐指数
1
解决办法
2012
查看次数

从 python 执行列表中的 bash 命令

我得到了这个清单

commands = ['cd var','cd www','cd html','sudo rm -r folder']
Run Code Online (Sandbox Code Playgroud)

我试图将其中的所有元素作为 bash 脚本一一执行,但没有成功。我这里需要一个for循环吗?

如何实现?谢谢大家!!!!

python arrays tuples

1
推荐指数
1
解决办法
4162
查看次数

我怎样才能在另一个函数中使用函数

我目前正在玩类和函数,因为我不熟悉python,我想知道如何addy(self, addx)调用addx.

class test:

    def __init__(self, x):
        self.x = x

    def addx(self):
        y = self.x + 10
        return y

    def addy(self, addx):
        z = addx() + 10
        return z

one = test(1)
print(one.addy())
Run Code Online (Sandbox Code Playgroud)

第15行,打印(one.addy())TypeError:addy()缺少1个必需的位置参数:'addx'进程以退出代码1结束

python

-1
推荐指数
1
解决办法
62
查看次数

标签 统计

python ×6

algorithm ×1

android ×1

arrays ×1

bar-chart ×1

bokeh ×1

class ×1

datetime ×1

function ×1

gpio ×1

kivy ×1

list ×1

permissions ×1

tuples ×1