小编Lou*_*uYu的帖子

从Python源代码中提取注释

我正在尝试编写一个程序来提取用户输入的代码中的注释.我试图使用正则表达式,但发现很难写.

然后我在这里找到了一个帖子.答案建议用来tokenize.generate_tokens分析语法,但文档说:

所述generate_tokens()发电机需要一个参数,readline,它必须是一个可调用的对象,它提供了相同的接口 readline()的方法内置的文件对象(见文件对象).

但是字符串对象没有readline方法.

然后我在这里发现了另一篇文章,建议StringIO.StringIO用来获取readline方法.所以我写了下面的代码:

import tokenize
import io
import StringIO

def extract(code):
    res = []
    comment = None
    stringio = StringIO.StringIO(code)
    for toktype, tokval, begin, end, line in tokenize.generate_tokens(stringio):
        # print(toknum,tokval)
        if toktype != tokenize.COMMENT:
            res.append((toktype, tokval))
        else:
            print tokenize.untokenize(toktype)
    return tokenize.untokenize(res)
Run Code Online (Sandbox Code Playgroud)

并输入以下代码: extract('a = 1+2#A Comment')

但得到了:

Traceback (most recent call last):     
   File "<stdin>", line 1, in <module> …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

如何并行运行几个Keras神经网络

我正在尝试使用Keras来运行强化学习算法.在这个算法中,我正在训练一个神经网络.与其他学习问题的不同之处在于,我需要使用神经网络本身来生成训练数据,并在更新后重复此操作.当我试图并行生成训练数据时,我遇到了问题.

问题是我不能告诉Theano在训练时使用GPU,因为它在生成训练数据时也会使用GPU,如果多个进程调用会导致问题.

更重要的是,即使我THEANO_FLAGS='floatX=float32,device=cpu,openmp=True' OMP_NUM_THREADS=4python命令之前写作,我也不会在多线程模式下运行.这不会导致任何错误,但我可以看到只有一个线程在运行.

这是我的代码.它是一个简化版本.

import numpy
from numpy import array
import copy
from time import time
import multiprocessing

from keras.models import Sequential
from keras.layers import Dense, Activation
from keras.optimizers import SGD
from keras.models import model_from_json

def runEpisode(qn):
    # Some codes that need qn.predict
    result = qn.predict(array([[1, 3]])) # That's just for demo

    return ([1, 2], 2) # Generated some training data, (X, Y)

def runMultiEpisode(qn, queue, event, nEpisode): # 'queue' is used to return result. …
Run Code Online (Sandbox Code Playgroud)

theano python-multiprocessing keras

9
推荐指数
0
解决办法
1700
查看次数

如何通过gitpython检查Git Repo是否有未提交的更改

我试过了

g = git.Repo(r'C:\Users\Administrator\Desktop\testRepo')
print g.untracked_files
Run Code Online (Sandbox Code Playgroud)

但得到了:

git.exc.GitCommandNotFound:[错误2]

这是一个错误吗?

python git gitpython

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