分享一个之前看过的程序,可以用来剪辑特定长度的音频,将它们混剪在一起,思路如下:

异常处理汇总 ~
修正果带着你的Net飞奔吧!

如何使用 Pylint 来规范 Python 代码风格

转载自

1.使用 FileInputStream 输入两个音频

有可能是个例,xftp不行(对linux支持很好),CuteFTP 9
可以(阿里云推荐的另一款ftp软件也不行)

Pylint 是什么

Pylint 是一个 Python 代码分析工具,它分析 Python
代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP
8,具体信息,请参阅参考资料)和有潜在问题的代码。目前 Pylint
的最新版本是 pylint-0.18.1。

  • Pylint 是一个 Python
    工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等。
  • Pylint
    的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易写小插件来添加功能。
  • 如果运行两次
    Pylint,它会同时显示出当前和上次的运行结果,从而可以看出代码质量是否得到了改进。
  • 目前在 eclipse 的 pydev 插件中也集成了 Pylint。

2.使用 FileInputStream的skip
方法跳过特定字节长度的音频文件,比如说:输入
skip(1024*1024*3),这样就能丢弃掉音频文件前面的 3MB 的内容。

图片 1

Pylint 具体介绍

3.截取中间特定长度的音频文件:每次输入 8KB
的内容,使用 count
记录输入次数,达到设置的次数就终止音频输入。比如说要截取 2MB
的音频,每次往输入流中输入 8KB 的内容,就要输入 1024*2/8 次。

Pylint 的安装

Pylint 可以用于所有高于或者等于 2.2 的 Python 版本兼容。需要
logilab-astng(version >= 0.14)和 logilab-common(version >=
0.13)的包(具体信息,请参阅 参考资料),如果是 Python 版本低于
2.3,那么它还需要 optik 包(本文接下来的示例暂不考虑这种情况)。

Pylint 所用到的所有的包的下载地址

logilab-astng 的最新包下载:

logilab-common 的最新包下载:

optik 的包下载:

Pylint 的最新包下载:

Pylint 在 Linux 上的安装

  1. 在 Linux 上,首先安装 Python 的包,并在环境变量 $PATH 中添加 Python
    可执行文件的路径。

  2. 下载 Pylint、logilab-astng (version >= 0.14) 和 logilab-common
    (version >= 0.13) 的包 , 使用 tar zxvf *.tar.gz解压缩这些包。

  3. 依次进入 logilab-astng、logilab-common 和 Pylint
    解开的文件夹中,运行命令 Python setup.py install来安装。

  4. 安装完成后,就可以通过 pylint [options] module_or_package来调用
    Pylint 了。

Pylint 在 Windows 上的安装

  1. 安装 Python
    的包,右键单击桌面上的我的电脑图标,选择属性,高级,环境变量,在 $PATH
    中添加 Python 的安装路径,如 C:\Python26\。

  2. 使用解压缩工具解压缩所有的包。

  3. 打开命令行窗口,使用 cd依次进入 logilab-astng、logilab-common 和
    Pylint 解开的文件夹中,运行命令 python setup.py install来安装。

  4. 安装完成后,在 Python 的安装路径下出现一个 Scripts
    文件夹,里面包含一些 bat 脚本,如 pylint.bat 等。

  5. 为了使调用 pylint.bat 的时候不需要输入完整路径,在 Python
    的安装目录下创建 pylint.bat 的重定向文件,这是一个纯文本文件
    pylint.bat,里面包含 pylint.bat
    的实际路径,如:C:\Python26\Scripts\pylint.bat。

  6. 安装完成后,可以通过 pylint [options] module_or_package来调用
    Pylint 了。

4.往同一个输出流 FileOutputStream
中输出音频,并生成文件,实现音频混合。

Pylint 的调用

相关代码:

清单 1. Pylint 的调用命令
1 pylint [options] module_or_package

使用 Pylint 对一个模块 module.py 进行代码检查:

    1. 进入这个模块所在的文件夹,运行 pylint [options] module.py
      这种调用方式是一直可以工作的,因为当前的工作目录会被自动加入 Python
      的路径中。
    1. 不进入模块所在的文件夹,运行
      pylint [options] directory/module.py
      这种调用方式当如下条件满足的时候是可以工作的:directory 是个 Python
      包 ( 比如包含一个 __init__.py 文件 ),或者 directory 被加入了
      Python 的路径中。

使用 Pylint 对一个包 pakage 进行代码检查:

    1. 进入这个包所在文件夹,运行 pylint [options] pakage。
      这种调用方式是一直可以工作的,因为当前的工作目录会被自动加入 Python
      的路径中。
    1. 不进入包所在的文件夹,运行
      pylint [options] directory/ pakage。
      这种情况下当如下条件满足的时候是可以工作的:directory 被加入了
      Python 的路径中。比如在 Linux
      上,export PYTHONPATH=$PYTHONPATH: directory。

此外,对于安装了 tkinter 包的机器,可以使用命令
pylint-gui打开一个简单的 GUI 界面,在这里输入模块或者包的名字 , 点击
Run,Pylint 的输出会在 GUI 中显示。

public class MusicCompound {    public static void main(String args[])    {        FileOutputStream fileOutputStream = null;        FileInputStream fileInputStream = null;        String fileNames[] = {"D:/01.mp3","D:/02.mp3"};        //设置byte数组,每次往输出流中传入8K的内容        byte by[] = new byte[1024*8];        try        {            fileOutputStream = new FileOutputStream("D:/合并音乐.mp3");            for(int i=0;i<2;i++)            {                int count = 0;                fileInputStream = new FileInputStream(fileNames[i]);                //跳过前面3M的歌曲内容                fileInputStream.skip(1024*1024*3);                while(fileInputStream.read != -1)                {                                        fileOutputStream.write;                    count++;                    System.out.println;                    //要截取中间2MB的内容,每次输入8k的内容,所以输入的次数是1024*2/8                    if(count == (1024*2/8))                    {                        break;                    }                }            }        }        catch(FileNotFoundException e)        {            e.printStackTrace();        }        catch(IOException e)        {            e.printStackTrace();        }        finally        {            try            {                //输出完成后关闭输入输出流                fileInputStream.close();                fileOutputStream.close();            }             catch(IOException e)            {                e.printStackTrace();            }        }    }}

Pylint 的常用命令行参数

  • -h``,``--help

    显示所有帮助信息。

  • --generate-rcfile

    可以使用 pylint –generate-rcfile
    来生成一个配置文件示例。可以使用重定向把这个配置文件保存下来用做以后使用。也可以在前面加上其它选项,使这些选项的值被包含在这个产生的配置文件里。如:pylint --persistent=n --generate-rcfile > pylint.conf,查看
    pylint.conf,可以看到 persistent=no,而不再是其默认值 yes。

  • --rcfile=<file>

    指定一个配置文件。把使用的配置放在配置文件中,这样不仅规范了自己代码,也可以方便地和别人共享这些规范。

  • -i <y_or_n>, --include-ids=<y_or_n>

    在输出中包含 message 的 id, 然后通过
    pylint --help-msg=<msg-id>来查看这个错误的详细信息,这样可以具体地定位错误。

  • -r <y_or_n>, --reports=<y_or_n>

    默认是 y, 表示 Pylint
    的输出中除了包含源代码分析部分,也包含报告部分。

  • --files-output=<y_or_n>

    将每个 module /package 的 message 输出到一个以
    pylint_module/package. [txt|html] 命名的文件中,如果有 report
    的话,输出到名为 pylint_global.[txt|html]
    的文件中。默认是输出到屏幕上不输出到文件里。

  • -f <format>, --output-format=<format>

    设置输出格式。可以选择的格式有 text, parseable, colorized, msvs
    (visual studio) 和 html, 默认的输出格式是 text。

  • --disable-msg=``<msg ids>

    禁止指定 id 的 message. 比如说输出中包含了 W0402 这个 warning 的
    message, 如果不希望它在输出中出现,可以使用 --disable-msg= W0402

发表评论

电子邮件地址不会被公开。 必填项已用*标注