我正在尝试实现一些记录消息的日志记录.我得到一些奇怪的行为,所以我试图找到一个最小的例子,我在这里找到.当我只是将那里描述的简单示例复制到我的解释器中时,不会创建文件,如下所示:
In [1]: import logging
...: logging.basicConfig(filename='example.log',level=logging.DEBUG)
...: logging.debug('This message should go to the log file')
...: logging.info('So should this')
...: logging.warning('And this, too')
WARNING:root:And this, too
In [2]: ls example.log
File not found
Run Code Online (Sandbox Code Playgroud)
谁能帮助我理解我做错了什么?谢谢...
编辑:在第二次输入之后将输出更改为英语并删除了不必要的部分.唯一重要的是Python不会创建文件example.log.
我已经比较了使用numpy/scipy卷积/关联两个信号的不同方法.事实证明,速度存在巨大差异.我比较了以下方法:
现在我当然明白fftconvolve与其他两个函数之间存在很大差异.我不明白为什么sps.correlate比np.correlate慢得多.有人知道为什么scipy会使用速度慢得多的实现吗?
速度比较http://i62.tinypic.com/ofrqxc.png
为了完整性,以下是生成图的代码:
import time
import numpy as np
import scipy.signal as sps
from matplotlib import pyplot as plt
if __name__ == '__main__':
a = 10**(np.arange(10)/2)
print(a)
results = {}
results['np.correlate'] = np.zeros(len(a))
results['sps.correlate'] = np.zeros(len(a))
results['sps.fftconvolve'] = np.zeros(len(a))
ii = 0
for length in a:
sig = np.random.rand(length)
t0 = time.clock()
for jj in range(3):
np.correlate(sig, sig, 'full')
t1 = time.clock()
elapsed = (t1-t0)/3
results['np.correlate'][ii] = elapsed
t0 = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ffmpeg逐帧编写视频,如下所述:http://zulko.github.io/blog/2013/09/27/read-and-write-video-frames-in-python-using- FFmpeg的/
但是,我总是得到一个OSError:[Errno 22]无效的参数.我在Windows 7上使用Python 3.4.这是代码:
import subprocess as sp
import numpy as np
import time
ffmpeg_bin = r'C:\path\to\ffmpeg\ffmpeg.exe'
command = [ffmpeg_bin,
'-y', # (optional) overwrite output file if it exists
'-f', 'rawvideo',
'-vcodec','rawvideo',
'-s', '420x360', # size of one frame
'-pix_fmt', 'rgb24',
'-r', '24', # frames per second
'-i', '-', # The imput comes from a pipe
'-an', # Tells FFMPEG not to expect any audio
'-vcodec', 'mpeg',
'my_output_videofile.mp4' ]
proc = sp.Popen(command, stdin=sp.PIPE, stderr=sp.PIPE)
a …Run Code Online (Sandbox Code Playgroud) .au我正在尝试读取python类型的音频文件。我想要一个包含音频文件中包含的波形幅度的向量,就像我可以使用以下命令读取*.wav文件一样scipy:
import scipy.io.wavfile as wav
rate,sig=wav.read('filename')
Run Code Online (Sandbox Code Playgroud)
有一个用于打开文件的内置模块*.au,sunau但我没有设法使用它来获取幅度向量。如果我使用函数“sunau.Au_read”,我可以打开一个文件,但我无法提取我想要的数字,但我只能执行以下操作:
In [44]: f=sunau.Au_read('sound.au')
In [45]: f.readframes(10)
Out[45]: '\x0c\x02\x0c\x02,\x02L\x02\x14\x01,\x02,\x02\xec\x01L\x02\x04\x01'
Run Code Online (Sandbox Code Playgroud)
我不知道如何处理该字符串...在 Matlab 中有函数“auread”,Python 中是否有等效函数?
任何帮助是极大的赞赏!:)
我编写了一个继承multiprocessing.Process()类的类。在初始化中,我设置了一些参数,其中一个是另一个类,它写入硬盘驱动器上的某个文件。出于单元测试的目的,我想模拟此类实例,以避免实际写入某些文件。这是一些最小的例子:
import mock
import time
import multiprocessing as mp
import numpy as np
class MyProcess(mp.Process):
def __init__(self):
super(MyProcess, self).__init__()
# the original code would create some instance of a file manipulation
# class here:
self._some_class = np.zeros(100)
def run(self):
# the following line would actually write to some file in the original
# code:
self._some_class.sum()
for ii in range(10):
print(str(ii))
time.sleep(.01)
if __name__ == '__main__':
proc = MyProcess()
# proc._some_class = mock.Mock()
proc.start()
proc.join()
Run Code Online (Sandbox Code Playgroud)
上面的代码应该按原样运行。但是,如果我尝试模拟MyProcess类中的_some_class …
我正在尝试开始在 statsmodels 中使用 AR 模型。但是,我似乎做错了什么。考虑以下失败的示例:
from statsmodels.tsa.ar_model import AR
import numpy as np
signal = np.ones(20)
ar_mod = AR(signal)
ar_res = ar_mod.fit(4)
ar_res.predict(4, 60)
Run Code Online (Sandbox Code Playgroud)
我认为这应该继续由 1 组成的(微不足道的)时间序列。但是,在这种情况下,它似乎返回的参数不足。len(ar_res.params)等于 4,而它应该是 5。在下面的例子中它工作:
signal = np.ones(20)
signal[range(0, 20, 2)] = -1
ar_mod = AR(signal)
ar_res = ar_mod.fit(4)
ar_res.predict(4, 60)
Run Code Online (Sandbox Code Playgroud)
我感觉这可能是一个错误,但我不确定,因为我没有使用该软件包的经验。也许有更多经验的人可以帮助我...
编辑:我已经在这里报告了这个问题。
对于在 Python 3.8+ 中加载 DLL 库,我了解不再使用路径环境变量来搜索依赖项。因此函数 os. 应该使用 add_dll_directory() 将目录添加到搜索路径。这在我的机器上有效。
目录是否可以永久添加?我注意到现在所有内容都已正确加载,无需首先使用提到的函数添加 dll 目录。我无法重现找不到依赖项的错误。
从文档中我不明白任何东西都会永久改变。
我有一些Python代码很大程度上依赖于numpy/scipy和scikit-learn.什么是让它在Android设备上运行的最佳方式?我已经阅读了几种在Android上运行Python代码的方法,主要是Pygame和Kivy,但我不确定这会如何与numpy和scikit-learn进行交互.
或者考虑让android应用程序将数据发送到运行Python的某个服务器会更好吗?
python ×8
numpy ×2
android ×1
audio ×1
dll ×1
ffmpeg ×1
inheritance ×1
logging ×1
scikit-learn ×1
scipy ×1
statsmodels ×1
unit-testing ×1
video ×1