小编Pag*_*vid的帖子

如何正确获取文件扩展名?

我知道这个问题在本网站上被多次询问.但是我发现他们错过了一个重要的观点:只考虑了一个周期的文件扩展名*.png *.mp3,但是如何用两个周期来处理这些文件名.tar.gz.

基本代码是:

filename = '/home/lancaster/Downloads/a.ppt'
extention = filename.split('/')[-1]
Run Code Online (Sandbox Code Playgroud)

但很明显,这段代码不能像文件一样工作a.tar.gz.怎么处理呢?谢谢.

python

18
推荐指数
3
解决办法
5万
查看次数

如何检查元组或列表中的所有元素是否都在另一个元素中?

例如,我想检查元组(1, 2)中的每个元素都在元组中(1, 2, 3, 4, 5).我不认为使用循环是一种很好的方法,我认为它可以在一行中完成.

python tuples list set

9
推荐指数
2
解决办法
5935
查看次数

将 Haskell 代码转换为 Python 或伪代码

我正在研究一种算法。但是作者提供的haskell代码我不是很清楚,所以我需要你们的帮助。我认为代码可以分为两部分。

> type LFT = (Integer, Integer, Integer, Integer)
>
> extr :: LFT -> Integer -> Rational
> extr (q,r,s,t) x = ((fromInteger q) * x + (fromInteger r)) / ((fromInteger s) * x + (fromInteger t))
>
> unit :: LFT
> unit = (1,0,0,1)
>
> comp :: LFT -> LFT -> LFT
> comp (q,r,s,t) (u,v,w,x) = (q*u+r*w,q*v+r*x,s*u+t*w,s*v+t*x)
Run Code Online (Sandbox Code Playgroud)

这里,很明显,一个叫做LFT的类型(可能是Python中的元组)和三个叫做的函数extr unit comp被定义了。 然而,接下来的部分让我很困惑:

> pi = stream next safe prod cons init lfts …
Run Code Online (Sandbox Code Playgroud)

python haskell

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

C++ - 与 numpy 中的相比,argsort 低效率的矢量版本实现

这是我做的一个比较。np.argsort在由 1,000,000 个元素组成的 float32 ndarray 上计时。

In [1]: import numpy as np

In [2]: a = np.random.randn(1000000)

In [3]: a = a.astype(np.float32)

In [4]: %timeit np.argsort(a)
86.1 ms ± 1.59 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Run Code Online (Sandbox Code Playgroud)

这是一个 C++ 程序执行相同的过程,但在引用此答案的向量上。

#include <iostream>
#include <vector>
#include <cstddef>
#include <algorithm>
#include <opencv2/opencv.hpp>
#include <numeric>
#include <utility>
int main()
{
  std::vector<float> numbers;
  for (int i = 0; i != 1000000; ++i) {
    numbers.push_back((float)rand() …
Run Code Online (Sandbox Code Playgroud)

c++ python performance numpy

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

Python:如何计算多线程下载速度

我写了一个多线程http下载器,现在它可以比单线程下载器更快地下载文件,并且MD5总和是正确的.但是,我发现它显示的速度是如此之快,以至于我不相信它是真正的价值.在此输入图像描述 单元尚未打印,但我确定它是KB/s,请查看我的代码有关该措施.

 # Setup the slaver
    def _download(self):
        # Start download partital content when queue not empty
        while not self.configer.down_queue.empty():
            data_range = self.configer.down_queue.get()
            headers = {
                'Range': 'bytes={}-{}'.format(*data_range)
            }
            response = requests.get(
                self.configer.url, stream = True,
                headers = headers
            )
            start_point = data_range[0]
            for bunch in response.iter_content(self.block_size):
                _time = time.time()
                with self.file_lock:
                    with open(
                        self.configer.path, 'r+b',
                        buffering = 1
                    ) as f:
                        f.seek(start_point)
                        f.write(bunch)
                        f.flush()
                start_point += self.block_size
                self.worker_com.put((
                    threading.current_thread().name,
                    int(self.block_size / (time.time() - _time))
                ))
            self.configer.down_queue.task_done()

    # speed monitor …
Run Code Online (Sandbox Code Playgroud)

python multithreading python-requests

5
推荐指数
0
解决办法
103
查看次数

Anaconda - 箭头键在 python shell 中不能正常工作

我在 manjaro 上安装了 Anaconda3(使用 i3wm 和 Urxvt)。当我进入python解释器时,输入python脚本并执行就可以了。但是当按下箭头键来调用历史时,一切都搞砸了。这是我多次按下向上键后的屏幕截图。在此处输入图片说明另一个问题是当按下退格键时会出现一个空格但之前不会删除字符。

我试图找到一些帖子说转义字符出现在 Anaconda python 中,解决方案似乎是 installncursesreadline. 当我尝试安装它们时,我发现它们都已经就位。有什么想法可以帮助解决我的问题吗?

python anaconda

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

ffmpeg输出文件太大

我想将字幕文件(.srt)刻录到mp4视频.我的命令是:

ffmpeg -i input.mp4 -c:v mpeg4 -q:v 1 -vf subtitles=input.srt out.mp4

它输出质量好的视频,但其大小为1.12GB,而输入文件为213MB.

我认为问题是kbps的输出文件太高.输入文件的比特率是568 kb/s但输出文件是3154 kb/s.

所以我想设置kps,现在这里是我的代码:

ffmpeg -i input.mp4 -b:v 569k -minrate 568k -maxrate 570k -c:v mpeg4 -q:v 1 -vf subtitles=input.srt out.mp4
Run Code Online (Sandbox Code Playgroud)

虽然输出文件变小(538MB),但视频的质量很糟糕(与输入文件比较)......那么如何使输出文件更小,质量更好?谢谢.

video ffmpeg

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

为什么字幕中的utf-8字符与ffmpeg不同

我想刻录 .mp4 视频的字幕文件(.srt),这是我的命令:

ffmpeg -i my.mp4 -c:v mpeg4 -q:v 1 -vf subtitles=my.srt new.mp4
Run Code Online (Sandbox Code Playgroud)

这张图片中不是很清楚,但是当我玩它时,我确定它们的大小不同。

在此输入图像描述

ffmpeg

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