精华内容
下载资源
问答
  • 批量视频文件 获取文件的名称、大小、时长
    关键词:os moviepy xlwt
    
    # -*- coding=utf-8 -*-
    import os
    import sys
    import xlwt
    from moviepy.editor import VideoFileClip
    
    file_dir = u"G:/视频目录/" #定义文件目录
    
    class FileCheck():
    
        def __init__(self):
            self.file_dir = file_dir
        
        def get_filesize(self,filename):
            u"""
            获取文件大小(M: 兆)
            """
            file_byte = os.path.getsize(filename)
            return self.sizeConvert(file_byte)
    
        def get_file_times(self,filename):
            u"""
            获取视频时长(s:秒)
            """
            clip = VideoFileClip(filename)
            file_time = self.timeConvert(clip.duration)
            return file_time
    
        def sizeConvert(self,size):# 单位换算
            K, M, G = 1024, 1024**2, 1024**3
            if size >= G:
                return str(size/G)+'G Bytes'
            elif size >= M:
                return str(size/M)+'M Bytes'
            elif size >= K:
                return str(size/K)+'K Bytes'
            else:
                return str(size)+'Bytes'
        
        def timeConvert(self,size):# 单位换算
            M, H = 60, 60**2
            if size < M:
                return str(size)+u'秒'
            if size < H:
                return u'%s分钟%s秒'%(int(size/M),int(size%M))
            else:
                hour = int(size/H)
                mine = int(size%H/M)
                second = int(size%H%M)
                tim_srt = u'%s小时%s分钟%s秒'%(hour,mine,second)
                return tim_srt
    
        def get_all_file(self):
            u"""
            获取视频下所有的文件
            """
            for root, dirs, files in os.walk(file_dir):  
                return files #当前路径下所有非目录子文件
    
    
    print u"=============开始,文件较多,请耐心等待..."
    fc = FileCheck()
    files = fc.get_all_file()
    datas = [[u'文件名称', u'文件大小', u'视频时长']]#二维数组
    for f in files:
        cell = []
        file_path = os.path.join(file_dir,f)
        file_size = fc.get_filesize(file_path)
        file_times = fc.get_file_times(file_path.encode("gbk"))
        print u"文件名字:{filename},大小:{filesize},时长:{filetimes}".format(filename=f,filesize=file_size,filetimes=file_times)
        cell.append(f)
        cell.append(file_size)
        cell.append(file_times)
        datas.append(cell)
    
    wb = xlwt.Workbook() #创建工作簿
    sheet = wb.add_sheet('data')#sheet的名称为test
         
    #单元格的格式
    style = 'pattern: pattern solid, fore_colour yellow; '#背景颜色为黄色
    style += 'font: bold on; '#粗体字
    style += 'align: horz centre, vert center; '#居中
    header_style = xlwt.easyxf(style)
         
    row_count = len(datas)
    col_count = len(datas[0])
    for row in range(0, row_count): 
        col_count = len(datas[row]) 
        for col in range(0, col_count):
            if row == 0:#设置表头单元格的格式
                sheet.write(row, col, datas[row][col], header_style)
            else:
                sheet.write(row, col, datas[row][col])
    wb.save(file_dir+"video.xlsx")
    print u"=============完成"

    展开全文
  • Python 文件 IO

    千次阅读 2017-10-11 17:59:06
    文件是磁盘上的一个指定位置,用来存储相关信息。它用于永久地将数据存储在非易失性的内存中(例如:硬盘)。...对于 Python 而言,文件是一种类型对象,像前面介绍的其他类型(例如:`str`)一样。

    简述

    文件是磁盘上的一个指定位置,用来存储相关信息。它用于永久地将数据存储在非易失性的内存中(例如:硬盘)。

    在 Windows 中,文件可以是文本文档、图片、程序等,且通常会有相应的扩展名(例如:.txt)。而在 Linux 中,一切皆文件。

    对于 Python 而言,文件是一种类型对象,像前面介绍的其他类型(例如:str)一样。

    | 版权声明:一去、二三里,未经博主允许不得转载。

    三部曲

    在 Python 中,文件操作按照以下顺序进行:

    • 打开文件(open)
    • 执行读取/写入操作(read/write)
    • 关闭文件(close)

    在读写文件时,首先要打开它。在操作完成后,需要对文件进行关闭,以便释放与文件绑定的资源。

    打开模式

    在打开文件时,可以指定打开模式(mode):

    模式描述
    'r'以读方式打开文件,可读取文件信息(默认)
    'w'以写方式打开文件,可向文件写入信息(清空该文件,再写入新内容)。若文件不存在,则创建。
    'x'打开独占创建,如果文件已经存在,则失败。
    'a'以追加方式打开文件(写入的数据会被加到文件末尾,即:文件原先的内容会被保留)。若文件不存在,则创建。
    'b'二进制模式
    't'文本模式(默认)
    '+'打开一个用于更新(读取和写入)的文件

    默认模式是 'r',以只读方式打开文件,用于读取文本(相当于 'rt')。对于二进制读写访问,模式 'w+b' 打开并将文件截断为 0 字节(清空文件),'r+b' 打开文件而不截断。

    可以看出,Python 区分了二进制和文本 I/O:

    • 以二进制模式打开文件(mode 中包含 'b'),内容将作为 bytes 对象返回,无需任何解码。
    • 以文本模式打开文件(默认值,或 mode 中包含 't'),内容将作为 str 返回。首先使用平台相关编码对字节进行了解码,如果给出,则使用指定的编码。

    打开文件

    内置函数 open() 用于打开文件,并返回一个文件对象(也称为:句柄):

    >>> f = open("test.txt")  # 打开当前目录中的文件
    >>> f = open("/home/wang/workspace/python/test.txt")  # 指定完整路径

    指定打开模式

    如果不指定模式,那么默认为 'r',以只读方式打开文件:

    >>> f = open("test.txt")  # 相当于 'r''rt'
    >>> f.mode
    'r'

    此外,还可以显式指定打开模式 - 读取使用 'r'、写入使用 'w'、追加使用 'a'

    >>> f = open("test.txt", 'w')  # 以文本模式写入

    还可以指定以文本模式或二进制模式打开文件:

    >>> f = open("img.bmp", 'r+b')  # 以二进制模式读写

    注意: 二进制模式是处理非文本文件(例如:图像、exe)时使用的模式。

    指定编码类型

    默认的编码依赖于平台。在 Windows 中:

    >>> f = open("E:/test.txt")
    >>> f.encoding
    'cp936'

    在 Linux 中:

    >>> f = open("/home/wang/workspace/python/test.txt")
    >>> f.encoding
    'UTF-8'

    可以看到,不同平台上的编码是不一样的。所以如果依赖于默认编码,那么代码在不同平台上将会有不同表现。

    因此,当以文本模式处理文件时,强烈建议指定编码类型:

    f = open("test.txt", mode = 'r', encoding = 'utf-8')

    关闭文件

    当完成对文件的操作时,需要适当地关闭,以释放与该文件绑定的资源。

    常规方式

    使用 close() 方法来完成:

    f = open("test.txt", encoding = 'utf-8')
    # ... 执行文件操作
    f.close()

    然而,这种方式并不完全安全,因为在对文件执行某些操作时很有可能会引发 IOError。一旦出错,代码将会退出而无法关闭文件。

    异常处理

    更安全的方式是使用 try...finally 块:

    try:
       f = open("test.txt", encoding = 'utf-8')
       # 执行文件操作
    finally:
       f.close()

    这样,即使出现异常,也可以确保文件能够被正确地关闭。

    使用 with 语句

    每次都要这么写,简直太繁琐了。所以,Python 引入了 with 语句:

    with open("test.txt", encoding = 'utf-8') as f:
        # 执行文件操作

    这可以确保当 with 中的块退出时,文件被安全地关闭,该动作是在内部完成的。

    这和 try ... finally 的效果是一样的,而且无需显式地调用 close(),代码简洁、优雅,更符合 Pythonic 的要求。

    文件写入

    为了写入文件,需要以写 'w' 模式打开,追加则使用 'a' 或独占创建使用 'x'

    注意: 在使用 'w' 模式时需要小心,因为如果文件存在,则会进行覆盖,以前的所有数据都将被清除。

    要写入一个字符串或字节序列(对于二进制文件),使用 write() 方法,该方法会返回写入文件的字符数。

    >>> with open("poem.txt", 'w', encoding = 'utf-8') as f:
    ...     f.write("Very quietly I take my leave\n")
    ...     f.write("As quietly as I came here\n")
    ... 
    29
    26

    注意: 要区分不同的行,需要包含换行符(\n)。

    可以看到,文件已经被创建了,而且包含了写入的内容:

    $ cat poem.txt 
    Very quietly I take my leave
    As quietly as I came here

    如果要向文件追加内容,使用模式 'a'

    >>> with open("poem.txt", 'a', encoding = 'utf-8') as f:
    ...     f.write('Gently I flick my sleeves\n')
    ...     f.write('Not even a wisp of cloud will I bring away\n')
    ... 
    26
    43

    再次打开文件,可以看到之前的内容也会被保留:

    $ cat poem.txt 
    Very quietly I take my leave
    As quietly as I came here
    Gently I flick my sleeves
    Not even a wisp of cloud will I bring away

    文件读取

    读取和写入一样简单,要读取文件的内容,必须以读 'r' 模式打开文件。

    读取方式有多种:

    • read([size]): size 为可选参数,如果指定了 size,就按照指定长度从文件中读取内容;否则,就读取全部内容。被读取的内容作为字符串返回,这样做的好处是:内容被存放在内存中,随用随取,方便快捷。但也因为这一点,如果文件过大,内存会吃不消。
    • readline([size]):size 含义同上。它以行为单位返回字符串,也就是每次读取一行,依次循环,如果不限定 size,直到最后一个返回的是空字符串,意味着到文件的末尾(EOF - End-of-file)。
    • readlines([size]):size 含义同上。返回以行为单位的列表,相当于先执行 readline(),得到每一行,然后将所有行放入列表中,最后将列表返回。

    read([size])

    可以使用 read(size) 方法读取数据的大小。如果没有指定 size,将读取并返回到文件的末尾。

    >>> with open("poem.txt", 'r', encoding = 'utf-8') as f:
    ...     f.read(4)  # 读取前 4 个节数
    ...     f.read(9)  # 读取后续的 9 个节数
    ...     f.read()  # 读取剩余的内容(直到文件末尾)
    ...     f.read()  # 进一步读取,返回空字符串
    ... 
    'Very'
    ' quietly '
    'I take my leave\nAs quietly as I came here\nGently I flick my sleeves\nNot even a wisp of cloud will I bring away\n'
    ''

    可以看到,read() 方法将换行作为 \n 返回。一旦到达文件的末尾,在进一步读取时便会返回空字符串。

    可以使用 seek() 方法来更改当前的文件的游标(位置)。类似地,tell() 方法返回当前的位置(以字节数为单位)。

    >>> with open("poem.txt", 'r', encoding = 'utf-8') as f:
    ...     f.read(4)  # 读取前 4 个节数
    ...     f.tell()  # 获取当前文件位置
    ...     f.seek(0)  # 将文件游标移到初始位置
    ...     print(f.read())  # 读取整个文件
    ... 
    'Very'
    4
    0
    Very quietly I take my leave
    As quietly as I came here
    Gently I flick my sleeves
    Not even a wisp of cloud will I bring away
    

    readline([size])

    另外,可以使用 readline() 方法来读取文件的各个行,该方法会读取文件直到换行符(包括换行符)。

    >>> with open("poem.txt", 'r', encoding = 'utf-8') as f:
    ...     f.readline(4)  # 读取第一行中前 4 个字节
    ...     f.readline()  # 读取第一行中的剩余内容
    ...     f.readline()  # 读取第二行
    ...     f.readline()  # 读取第三行
    ...     f.readline()  # 读取第四行
    ...     f.readline()  # 进一步读取,返回空字符串
    ... 
    'Very'
    ' quietly I take my leave\n'
    'As quietly as I came here\n'
    'Gently I flick my sleeves\n'
    'Not even a wisp of cloud will I bring away\n'
    ''

    readlines([size])

    最后,readlines() 方法返回整个文件的剩余行数的列表,所有这些读取方法在到达文件结束时(EOF)返回空值。

    指定 size

    >>> with open("poem.txt", 'r', encoding = 'utf-8') as f:
    ...     f.readlines(35)
    ... 
    ['Very quietly I take my leave\n', 'As quietly as I came here\n']

    注意: 返回总和大约为 size 字节的行,而且所返回的必然都是完整的行数据。大多数情况下,实际读取的可能比 size 大,因为需要填充缓冲区。

    不指定 size

    >>> with open("poem.txt", 'r', encoding = 'utf-8') as f:
    ...     f.readlines()
    ... 
    ['Very quietly I take my leave\n', 'As quietly as I came here\n', 'Gently I flick my sleeves\n', 'Not even a wisp of cloud will I bring away\n']

    通常情况下,如果文件不太大,则可以很方便地使用这种方式将文件读取到完整的数据结构中。

    文件的方法

    文件对象提供了许多方法:

    >>> f = open("poem.txt")
    >>>
    >>> type(f)
    <class '_io.TextIOWrapper'>
    >>> 
    >>> dir(f)
    ['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'writelines']

    其中一些在上面已经介绍过了,以下是方法列表的简单说明:

    方法描述
    close()关闭一个打开的文件。如果文件已经关闭,则没有效果。
    detach()将底层二进制缓冲区从 TextIOBase 中分离出来并返回
    fileno()返回文件的整数号(文件描述符)
    flush()刷新文件流的写缓冲区
    isatty()如果文件流是交互式的,返回 True
    read(n)从文件中读出最多 n 个字符。如果是负数的或不指定,则读到文件的末尾。
    readable()如果可以读取文件流,则返回 True
    readline(n=-1)从文件读取并返回一行。如果指定,最多读取 n 个字节。
    readlines(n=-1)从文件中读取并返回列表行。如果指定,最多读取 n 个字符。
    seek(offset,from=SEEK_SET)将文件位置更改为 offset 字节,参考 from (start, current, end)
    seekable()如果文件流支持随机访问,则返回 True
    tell()返回当前文件位置
    truncate(size=None)将文件流大小调整为 size 字节。如果未指定 size,调整大小至当前位置。
    writable()如果文件流可以写入,则返回 True
    write(s)将字符串 s 写入文件,并返回写入的字符数。
    writelines(lines)写入文件列表
    展开全文
  • python 获取视频文件的大小,时长

    千次阅读 2019-10-08 01:12:15
    举例说明: import os import sys import xlwt from moviepy.editor import VideoFileClip ...file_dir = u"G:/视频目录/" #定义文件目录 class FileCheck(): def __init__(self): self.file_dir ...

    举例说明:

    import os
    import sys
    import xlwt
    from moviepy.editor import VideoFileClip
     
    file_dir = u"G:/视频目录/" #定义文件目录
     
    class FileCheck():
     
        def __init__(self):
            self.file_dir = file_dir
        
        def get_filesize(self,filename):
            u"""
            获取文件大小(M: 兆)
            """
            file_byte = os.path.getsize(filename)
            return self.sizeConvert(file_byte)
     
        def get_file_times(self,filename):
            u"""
            获取视频时长(s:秒)
            """
            clip = VideoFileClip(filename)
            file_time = self.timeConvert(clip.duration)
            return file_time
     
        def sizeConvert(self,size):# 单位换算
            K, M, G = 1024, 1024**2, 1024**3
            if size >= G:
                return str(size/G)+'G Bytes'
            elif size >= M:
                return str(size/M)+'M Bytes'
            elif size >= K:
                return str(size/K)+'K Bytes'
            else:
                return str(size)+'Bytes'
        
        def timeConvert(self,size):# 单位换算
            M, H = 60, 60**2
            if size < M:
                return str(size)+u''
            if size < H:
                return u'%s分钟%s秒'%(int(size/M),int(size%M))
            else:
                hour = int(size/H)
                mine = int(size%H/M)
                second = int(size%H%M)
                tim_srt = u'%s小时%s分钟%s秒'%(hour,mine,second)
                return tim_srt
     
        def get_all_file(self):
            u"""
            获取视频下所有的文件
            """
            for root, dirs, files in os.walk(file_dir):  
                return files #当前路径下所有非目录子文件

     

    转载于:https://www.cnblogs.com/haiyan123/p/9263288.html

    展开全文
  • Python bytes类型及用法

    千次阅读 2019-06-23 17:59:55
    Python 3 新增了bytes类型,用于代表字节串(这是作者生造的一个词,与字符串对应)。字符串(str)由多个字符组成,以字符为单位进行操作;字节串(bytes)由多个字节组成,以字节为单位进行操作。 bytes 和 str...

    Python 3 新增了 bytes 类型,用于代表字节串(这是作者生造的一个词,与字符串对应)。字符串(str)由多个字符组成,以字符为单位进行操作;字节串(bytes)由多个字节组成,以字节为单位进行操作。

     

    bytes 和 str 除操作的数据单元不同之外,它们支持的所有方法都基本相同,bytes 也是不可变序列。

    bytes 对象只负责以字节(二进制格式)序列来记录数据,至于这些数据到底表示什么内容,完全由程序决定。如果采用合适的字符集,字符串可以转换成字节串;反过来,字节串也可以恢复成对应的字符串。

    由于 bytes 保存的就是原始的字节(二进制格式)数据,因此 bytes 对象可用于在网络上传输数据,也可用于存储各种二进制格式的文件,比如图片、音乐等文件。

    如果希望将一个字符串转换成 bytes 对象,有如下三种方式:

    1. 如果字符串内容都是 ASCII 字符,则可以通过直接在字符串之前添加 b 来构建字节串值。
    2. 调用 bytes() 函数(其实是 bytes 的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集。
    3. 调用字符串本身的 encode() 方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集。

    例如,如下程序示范了如何创建字节串:

      # 创建一个空的bytes  b1 = bytes()  # 创建一个空的bytes值  b2 = b''  # 通过b前缀指定hello是bytes类型的值  b3 = b'hello'  print(b3)  print(b3[0])  print(b3[2:4])  # 调用bytes方法将字符串转成bytes对象  b4 = bytes('我爱Python编程',encoding='utf-8')  print(b4)  # 利用字符串的encode()方法编码成bytes,默认使用utf-8字符集  b5 = "学习Python很有趣".encode('utf-8')  print(b5)

    上面程序中 b1~b5 都是字节串对象,该程序示范了以不同方式来构建字节串对象。其中 b2、b3 都是直接在 ASCII 字符串前添加b前缀来得到字节串的:b4 调用 bytes() 函数来构建字节串;而 b5 则调用字符串的 encode 方法来构建字节串。

    运行上面程序,可以看到如下输出结果:

    b'hello'
    104
    b'll'
    b'xe6x88x91xe7x88xb1Pythonxe7xbcx96xe7xa8x8b'
    b'xe5xadxa6xe4xb9xa0Pythonxe5xbex88xe6x9cx89xe8xb6xa3'

    从上面的输出结果可以看出,字节串和字符串非常相似,只是字节串里的每个数据单元都是 1 字节。

    计算机底层有两个基本概念:位(bit)和字节(Byte),其中 bit 代表 1 位,要么是 0,要么是 1,就像一盏灯,要么打开,要么熄灭;Byte 代表 1 字节,1 字节包含 8 位。

    在字节串中每个数据单元都是字节,也就是 8 位,其中每 4 位(相当于 4 位二进制数,最小值为 0 ,最大值为 15)可以用一个十六进制数来表示,因此每字节需要两个十六进制数表示,所以可以看到上面的输出是 b'xe6x88x91xe7x88xb1Pythonxe7xbcx96xe7xa8x8b',比如 xe6 就表示 1 字节,其中 x 表示十六进制,e6 就是两位的十六进制数。

    如果程序获得了 bytes 对象,也可调用 bytes 对象的 decode() 方法将其解码成字符串,例如,在上面程序中添加如下代码:

      #将bytes 对象解码成字符串,默认使用UTF-8进行解码  st = b5.decode('utf-8')  print(st)#学习Python很有趣

    运行上面程序,可以看到如下输出结果:

    学习Python很有趣

    这里简单介绍一下字符集的概念。计算机底层并不能保存字符,但程序总是需要保存各种字符的,那该怎么办呢?计算机“科学家”就想了一个办法:为每个字符编号,当程序要保存字符时,实际上保存的是该字符的编号;当程序读取字符时,读取的其实也是编号,接下来要去查“编号一字符对应表”(简称码表)才能得到实际的字符。

    因此,所谓的字符集,就是所有字符的编号组成的总和。早期美国人给英文字符、数字、标点符号等字符进行了编号,他们认为所有字符加起来顶多 100 多个,只要 1 字节(8 位,支持 256 个字符编号)即可为所有字符编号一一这就是 ASCII 字符集。

    后来,亚洲国家纷纷为本国文字进行编号,即制订本国的字符集,但这些字符集并不兼容。于是美国人又为世界上所有书面语言的字符进行了统一编号,这次他们用了两个字节(16 位,支持 65536 个字符编号),这就是 Unicode 字符集。实际使用的 UTF-8, UTF-16 等其实都属于 Unicode 字符集。

    由于不同人对字符的编号完全可以很随意,比如同一个“爱”字,我可以为其编号为 99,你可以为其编号为 199,所以同一个编号在不同字符集中代表的字符完全有可能是不同的。因此,对于同一个字符串,如果采用不同的字符集来生成 bytes 对象,就会得到不同的 bytes 对象。

    1.Python变量及其使用
    2.Python变量命名规则
    3.Python数值类型(整形、浮点型和复数)
    4.Python字符串
    5.Python bytes
    6.Python转义字符
    7.Python格式化字符串
    8.Python截取字符串
    9.Python字符串大小写转换
    10.Python去除字符串中空格

    展开全文
  • 使用os模块操作文件本身函数描述os.unlink(filePath)删除文件os.remove(filePath)同上os.rmdir(dirPath)删除文件夹,必须要是空文件夹才能删除os.removedirs(dirPath)同上os.rename(oldPath,newPath)重命名文件、...
  • Python文件输入输出

    万次阅读 2014-07-14 20:28:18
    python文件输入输出教程 python文件读取 打开文件对象内置函数open() open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=...
  • python中用file.read()函数读取二进制文件时,得到的数据是<class ‘bytes’>类型;如下是一个二进制文件,每行4个字节,共32位; 用file.read()函数读取,后面每次读8个字节输出结果:均为bytes类型(对于前...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是...
  • Python中str和bytes之间的转换 str.encode(‘encoding’) -&amp;amp;gt; bytes bytes.decode(‘encoding’) -&amp;amp;gt; str Encoding指的是具体的编码规则的名称,对于中文来说,它可以是这些值: ...
  • Python3中的bytes和str类型

    万次阅读 多人点赞 2017-07-11 19:30:45
    Python 3不会以任意隐式的方式混用str和bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。 下面让我们深入分析一下二者的区别和联系...
  • 文章目录1. 读取文本文件1.1. 读取文本文件里的个别字符1.2. 以文本模式读取文件2. 向文本文件写入字符串2.1...在 Python 中可以使用 open() 函数来打开文件,该函数将返回一个文件对象,然后我们可以通过调用该文件...
  • pythonbytes和string

    2018-08-22 13:04:17
    1、bytes主要是给在计算机看的,string主要是给人看的 2、中间有个桥梁就是编码规则,现在大趋势是utf8 3、bytes对象是二进制,很容易转换成16进制,例如\x64 4、string就是我们看到的内容,例如'abc' 5、string...
  • 原标题:Python 3 字符串中的 STR 和 Bytes 究竟有什么区别?Python2的字符串有两种:str和Unicode,Python3的字符串也有两种:str和BytesPython2的str相当于Python3的Bytes,而Unicode相当于Python3的Bytes。...
  • 主要包括:音频信息,读取内容,获取时长,切割音频,pcm与wav互转 获取音频信息: with wave.open(wav_path, "rb") as f: f = wave.open(wav_path) print(f.getparams()) 返回内容为: 声道,采样...
  • Python处理pcap文件

    2020-07-14 10:22:12
    利用python处理pcap文件
  • 文章首发于我的技术博客:你可以在上面看到更多的Python教程和python...Python2 的 str 相当于 Python3 的bytes,而unicode相当于Python3的str。 Python2里面的str和unicode是可以混用的,在都是英文字母的时候str...
  • pcap文件python解析实例

    万次阅读 多人点赞 2016-07-23 18:44:31
    正文首先要说的是,我知道python有很多解析pcap文件的库,这里不使用它们的原因是为了理解pcap文件的格式细节。使用tcpdump你可以很容易抓取到一系列的数据包,然而tcpdump并没有分析数据包的功能,如果想从这个抓包...
  • 浅析Python3中的bytes和str类型

    千次阅读 2017-08-13 15:42:26
    浅析Python3中的bytes和str类型 Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和...
  • Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分...Python 3不会以任意隐式的方式混用str和bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数...
  • 哈喽,大家好本期的主题是利用Python来实现对视频文件时间长度的读取。 在学习编程语言,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解...
  • Python_文件操作_深入

    千次阅读 2020-04-08 22:51:04
    二进制文件:存储字节串(bytes)形式的对象内容,通常是在bin目录下的可执行文件 1. 文件对象 Python内置了文件对象,通过open()函数指定模式打开指定文件并创建文件对象。 语法: 文件对象名=open(文件...
  • #!/usr/bin/env python # -*- coding: utf-8 -*- import struct from io import BytesIO ...# 各种文件头的长度不一样,少则2字符,则8字符 def typeList(types): type_dict = {'jpg': ['FFD8FF'], '
  • Python 标准数据类型:Bytes

    千次阅读 2017-12-27 19:47:45
    Bytes 对象是由单个字节作为基本元素(8位,取值范围 0-255)组成的序列,为不可变对象。 Bytes 对象只负责以二进制字节序列的形式记录所需记录的对象,至于该对象到底表示什么(比如到底是什么字符)则由相应的...
  • PythonPython核心编程

    万次阅读 多人点赞 2019-06-13 22:41:24
    Python核心编程 数据类型 数值类型(整数,浮点,布尔) 序列类型(字符串,列表,元组) 散列类型(字典,集合) 字节类型 a=bytes(‘123’)/a=b’123’ 字节数组bytearrary(‘123’) 数据类型的方法 字符串方法: ...
  • bytes是什么 由上篇文章几种字符编码, 我们已经知道了ASCII Unicode UTF-8的关系。而且,计算机只能识别0和1,那显然,文件存储在计算机中也只能是以二进制的形式存储,字符编码在计算机中的工作机制是怎样的呢? ...
  • python3 str bytes bytearray 互相转换

    千次阅读 2019-10-25 14:05:15
    在一次aes解密中,我完全弄混了str、bytes、...而bytes是字节序列,主要用于网络和文件传输。 bytearray和bytes是一样的,只是它是可变的,它们的关系和str与list类似。 在aes解密或者网络数据中,数据应该是byte...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,170
精华内容 12,068
关键字:

bytes文件时长python

python 订阅