精华内容
下载资源
问答
  • 用python读写HDF5格式文件

    千次阅读 2019-06-07 11:58:41
    用python读写HDF5格式文件用python读写HDF5格式文件HDF5介绍创建HDF5文件读取HDF5文件HDF5的group 用python读写HDF5格式文件 HDF5介绍        HDF(Hierarchical Data File)是美国国家高级计算...

    用python读写HDF5格式文件

    HDF5介绍

           HDF(Hierarchical Data File)是美国国家高级计算应用中心(National Center for Supercomputing Application,NCSA)为了满足各种领域研究需求而研制的一种能高效存储和分发科学数据的新型数据格式 。
           HDF5适合存储大量的二进制信息,并且提供并行IO加快读写速度。
           我们可以用python的h5py包来读写HDF5文件。

    创建HDF5文件

    1. h5py.File()函数和’w’ 选项创建一个data.h5文件
    2. create_dataset() 函数在hdf5文件里面写入dataset,该文件里面有两个dataset分别是dataset_1和dataset_2。
      具体代码如下。
    import numpy as np
    import h5py
    data1 = np.random.random(size = (100,100))
    data2 = np.random.random(size = (200,200))
    hdfFile = h5py.File('data.h5', 'w')
    hdfFile.create_dataset('dataset_1', data=data1)
    hdfFile.create_dataset('dataset_2', data=data2)
    hdfFile.close()
    

    读取HDF5文件

    1. h5py.File()函数和’r’ 选项读取一个data.h5文件
    2. get() 方法得到某个dataset
    hdfFile = h5py.File('data.h5', 'r')
    dataset1 = hdfFile.get('dataset_1')
    print(dataset1.shape)
    hdfFile.close()
    

    HDF5的group

           group在HDF5中的作用类似于linux的文件系统层次结构,通过这个层次结构可以合理的将不同的数据组织起来。

    1. 我们用create_group() 函数创建一个组。
    2. keys() 函数来得到HDF5文件里面的group
    3. items() 函数可以查看某个group里面的dataset。
    hdfFile = h5py.File('data.h5', 'w')
    group1 = hdfFile.create_group('group1')
    group1.create_dataset('dataset_1', data=data1)
    group1.create_dataset('dataset_2', data=data2)
    print(hdfFile.keys())
    
    print(group1.items())
    
    展开全文
  • 调整图片格式二、构建CNN网络模型三、编译模型四、训练模型五、预测六、知识点详解1. MNIST手写数字数据集介绍2. 神经网络程序说明3. 网络结构说明 我的环境: 语言环境:Python3.6.5 编译器:jupyter notebook ...


    我的环境:

    • 语言环境:Python3.6.5
    • 编译器:jupyter notebook
    • 深度学习环境:TensorFlow2

    来自专栏:【深度学习100例】

    一、前期工作

    1. 设置GPU(如果使用的是CPU可以忽略这步)

    import tensorflow as tf
    gpus = tf.config.list_physical_devices("GPU")
    
    if gpus:
        gpu0 = gpus[0] #如果有多个GPU,仅使用第0个GPU
        tf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量按需使用
        tf.config.set_visible_devices([gpu0],"GPU")
    

    2. 导入数据

    import tensorflow as tf
    from tensorflow.keras import datasets, layers, models
    import matplotlib.pyplot as plt
    
    (train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
    

    3. 归一化

    # 将像素的值标准化至0到1的区间内。
    train_images, test_images = train_images / 255.0, test_images / 255.0
    
    train_images.shape,test_images.shape,train_labels.shape,test_labels.shape
    """
    输出:((60000, 28, 28), (10000, 28, 28), (60000,), (10000,))
    """
    

    4. 可视化图片

    plt.figure(figsize=(20,10))
    for i in range(20):
        plt.subplot(5,10,i+1)
        plt.xticks([])
        plt.yticks([])
        plt.grid(False)
        plt.imshow(train_images[i], cmap=plt.cm.binary)
        plt.xlabel(train_labels[i])
    plt.show()
    

    在这里插入图片描述

    5. 调整图片格式

    #调整数据到我们需要的格式
    train_images = train_images.reshape((60000, 28, 28, 1))
    test_images = test_images.reshape((10000, 28, 28, 1))
    
    train_images.shape,test_images.shape,train_labels.shape,test_labels.shape
    """
    输出:((60000, 28, 28, 1), (10000, 28, 28, 1), (60000,), (10000,))
    """
    

    二、构建CNN网络模型

    model = models.Sequential([
        layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),#卷积层1,卷积核3*3
        layers.MaxPooling2D((2, 2)),                   #池化层1,2*2采样
        layers.Conv2D(64, (3, 3), activation='relu'),  #卷积层2,卷积核3*3
        layers.MaxPooling2D((2, 2)),                   #池化层2,2*2采样
        
        layers.Flatten(),                              #Flatten层,连接卷积层与全连接层
        layers.Dense(64, activation='relu'),		   #全连接层,特征进一步提取
        layers.Dense(10)                               #输出层,输出预期结果
    ])
    # 打印网络结构
    model.summary()
    

    在这里插入图片描述

    三、编译模型

    """
    这里设置优化器、损失函数以及metrics
    这三者具体介绍可参考我的博客:
    https://blog.csdn.net/qq_38251616/category_10258234.html
    """
    model.compile(optimizer='adam',
                  loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
                  metrics=['accuracy'])
    

    四、训练模型

    """
    这里设置输入训练数据集(图片及标签)、验证数据集(图片及标签)以及迭代次数epochs
    关于model.fit()函数的具体介绍可参考我的博客:
    https://blog.csdn.net/qq_38251616/category_10258234.html
    """
    history = model.fit(train_images, train_labels, epochs=10, 
                        validation_data=(test_images, test_labels))
    

    在这里插入图片描述

    五、预测

    通过下面的网络结构我们可以简单理解为,输入一张图片,将会得到一组数,这组代表这张图片上的数字为0~9中每一个数字的几率,out数字越大可能性越大。


    在这一步中部分同学会因为 matplotlib 版本原因报 Invalid shape (28, 28, 1) for image data 的错误提示,可以将代码改为 plt.imshow(test_images[1].reshape(28,28))

    plt.imshow(test_images[1])
    

    在这里插入图片描述

    输出测试集中第一张图片的预测结果

    pre = model.predict(test_images)
    pre[1]
    

    在这里插入图片描述

    六、知识点详解

    本文使用的是最简单的CNN模型- -LeNet-5,如果是第一次接触深度学习的话,可以先试着把代码跑通,然后再尝试去理解其中的代码。

    1. MNIST手写数字数据集介绍

    MNIST手写数字数据集来源于是美国国家标准与技术研究所,是著名的公开数据集之一。数据集中的数字图片是由250个不同职业的人纯手写绘制,数据集获取的网址为:http://yann.lecun.com/exdb/mnist/(下载后需解压)。我们一般会采用(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()这行代码直接调用,这样就比较简单

    MNIST手写数字数据集中包含了70000张图片,其中60000张为训练数据,10000为测试数据,70000张图片均是28*28,数据集样本如下:

    在这里插入图片描述

    如果我们把每一张图片中的像素转换为向量,则得到长度为28*28=784的向量。因此我们可以把训练集看成是一个[60000,784]的张量,第一个维度表示图片的索引,第二个维度表示每张图片中的像素点。而图片里的每个像素点的值介于0-1之间。
    在这里插入图片描述

    2. 神经网络程序说明

    神经网络程序可以简单概括如下:
    在这里插入图片描述

    3. 网络结构说明

    模型的结构
    在这里插入图片描述

    各层的作用

    • 输入层:用于将数据输入到训练网络
    • 卷积层:使用卷积核提取图片特征
    • 池化层:进行下采样,用更高层的抽象表示图像特征
    • Flatten层:将多维的输入一维化,常用在卷积层到全连接层的过渡
    • 全连接层:起到“特征提取器”的作用
    • 输出层:输出结果

    其他精彩内容:

    《深度学习100例》专栏直达:【传送门】

    • ✨微信众号(K同学啊)后台回复【DL+天数】可获取《深度学习100例》的数据
    • ✨微信交流群:加我微信(mtyjkh_)拉你进群,不懂就问,备注:CSDN+来意

    我的微信:

    展开全文
  • python 程序员进阶之路:新手高手的100个模块

    万次阅读 多人点赞 2019-10-22 09:45:31
    在知乎和CSDN的圈子里,经常看到、听到一些 python 初学者说,学完...近日,CSDN的公众号推送了一篇博客,题目叫做《迷思:Python 学什么程度可以面试工作?》,真实反映了 python 程序员在成长过程中的一些困惑。

    在知乎和CSDN的圈子里,经常看到、听到一些 python 初学者说,学完基础语法后,不知道该学什么,学了也不知道怎么用,一脸的茫然。近日,CSDN的公众号推送了一篇博客,题目叫做《迷思:Python 学到什么程度可以面试工作?》,真实反映了 python 程序员在成长过程中的一些困惑。

    英汉小词典
    pythoneer - 指所有用python语言开发程序的人
    pythonista - 意为资深的、追求质量和品味的python开发者

    我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。本文所列举的这100个模块,是我在工作和学习中用过的或者正在学习的,算是对自己过去12年的学习总结。希望对处在迷茫中的程序员有所帮助。

    在这个列表中,我把模块分成11大类:

    1. 基础类
    2. 数据库接口类
    3. 网络通讯类
    4. 音像游戏类
    5. GUI类
    6. web框架类
    7. 科学计算类
    8. 2D/3D类
    9. 数据处理类
    10. 机器学习类
    11. 工具类

    针对每一个模块,根据以往的工作经验,我给出了相应的推荐指数,从1颗星到5颗星。这是一个非常主观的判断,仅供参考。

    1. ★☆☆☆☆:较少被用到
    2. ★★☆☆☆:重要但较少被用到,
    3. ★★★☆☆:解决特定问题不可或缺
    4. ★★★★☆:主流应用,优先学习
    5. ★★★★★:同类模块最优,或学习优先级最高

    从 pythoneer 到 pythonista 的100个模块

    No. 来源 模块 说明 分类 推荐指数
    1 标准库 os 文件和路径操作功能 基础类 ★★★★★
    2 标准库 sys 系统和环境相关功能 基础类 ★★★☆☆
    3 标准库 time 时间库 基础类 ★★★★☆
    4 标准库 datetime 日期处理库 基础类 ★★★★★
    5 第三方库 dateutil datetime模块的扩展 基础类 ★★☆☆☆
    6 标准库 math 数学函数库 基础类 ★★★★☆
    7 标准库 random 随机数库 基础类 ★★★☆☆
    8 标准库 re 正则表达式功能 基础类 ★★★★☆
    9 标准库 queue 队列功能 基础类 ★★★☆☆
    10 标准库 copy 数据复制库 基础类 ★★★☆☆
    11 标准库 threading 线程接口 基础类 ★★★★★
    12 标准库 multiprocessing 基于进程的“线程”接口 基础类 ★★★★★
    13 标准库 configparser ini文件解析器 基础类 ★★☆☆☆
    14 标准库 argparse 命令行选项、参数和子命令解析器 基础类 ★★☆☆☆
    15 标准库 json json库 基础类 ★★★★☆
    16 标准库 base64 Base16/32/64/85数据编码库 基础类 ★★★☆☆
    17 标准库 uuid 通用唯一识别码 基础类 ★★★☆☆
    18 标准库 hashlib md5, sha等hash算法库 基础类 ★★★★☆
    19 标准库 glob 文件和路径查找功能 基础类 ★☆☆☆☆
    20 标准库 shutil 对文件与文件夹各种常见操作 基础类 ★★★☆☆
    21 标准库 zipfile 创建读写添加及列出ZIP文件的工具 基础类 ★★☆☆☆
    22 标准库 tartfile 创建读写添加及列出TAR文件的工具 基础类 ★★☆☆☆
    23 标准库 gc 垃圾回收库 基础类 ★★☆☆☆
    24 标准库 logging 日志功能 基础类 ★★★★☆
    25 标准库 ctypes 用来调用C代码的外来函数接口 基础类 ★★★☆☆
    26 标准库 struct 将字节串解读为打包的二进制数据 基础类 ★★☆☆☆
    27 标准库 unittest 单元测试框架 基础类 ★★☆☆☆
    28 第三方库 xlrd 读Excel文件的数据和格式信息 基础类 ★★★★☆
    29 第三方库 xlwt 写Excel文件的数据和格式信息 基础类 ★★★★☆
    30 第三方库 freetype 字体文件读取库 基础类 ★★☆☆☆
    31 第三方库 APScheduler 进程内任务调度 基础类 ★★★☆☆
    32 第三方库 watchdog 管理文件系统事件的API和shell工具 基础类 ★★★☆☆
    33 标准库 sqlite3 文件型数据库驱动 数据库接口类 ★★★★★
    34 标准库 PyMySQL MySQL数据库的连接库 数据库接口类 ★★★★☆
    35 标准库 cx_oracle oracle数据库的连接库 数据库接口类 ★★★★☆
    36 标准库 pymongo mongodb数据库的连接库 数据库接口类 ★★★☆☆
    37 标准库 redis redis数据库的连接库 数据库接口类 ★★☆☆☆
    38 标准库 pyodbc 数据库通用接口标准连接库 数据库接口类 ★★☆☆☆
    39 标准库 socket socket通讯库 网络通讯类 ★★★★☆
    40 标准库 socketserver socket服务器 网络通讯类 ★★★☆☆
    41 标准库 xmlrpc xmlrpc服务器 网络通讯类 ★★★☆☆
    42 标准库 ftplib FTP服务连接库 网络通讯类 ★★★☆☆
    43 标准库 smtplib 邮件发送库 网络通讯类 ★☆☆☆☆
    44 标准库 email 邮件库 网络通讯类 ★☆☆☆☆
    45 标准库 urllib 网络请求库 网络通讯类 ★★★★☆
    46 第三方库 pyserial 串口通讯库 网络通讯类 ★★☆☆☆
    47 第三方库 paramiko SSH2远程安装连接库 网络通讯类 ★★☆☆☆
    48 第三方库 pycurl 多协议文件传输库 网络通讯类 ★★★★★
    49 第三方库 requests http请求的模块 网络通讯类 ★★★★☆
    50 标准库 asyncio 异步I/O、事件循环、协程以及任务 网络通讯类 ★★☆☆☆
    51 第三方库 twisted 基于事件驱动的网络引擎框架 网络通讯类 ★★☆☆☆
    52 第三方库 dispy 分布式并行计算框架 网络通讯类 ★★☆☆☆
    53 第三方库 pp 支持SMP和集群方式的并行计算框架 网络通讯类 ★★☆☆☆
    54 第三方库 pillow 图像处理库 音像游戏类 ★★★★★
    55 第三方库 opencv 计算机视觉库 音像游戏类 ★★★★★
    56 第三方库 imageio GIF、AVI文件生成 音像游戏类 ★★☆☆☆
    57 第三方库 pygame python游戏开发模块 音像游戏类 ★★★★☆
    58 第三方库 pyaudio 跨平台的音频I/O库 音像游戏类 ★★★☆☆
    59 标准库 winsound windows平台基本声音播放库 音像游戏类 ★★☆☆☆
    60 第三方库 wxpython GUI图形库 GUI类 ★★★★★
    61 第三方库 pyqt GUI图形库 GUI类 ★★★★☆
    62 标准库 tkinter GUI图形库 GUI类 ★☆☆☆☆
    63 第三方库 cefpython3 将浏览器嵌入到GUI中 GUI类 ★☆☆☆☆
    64 第三方库 pywin32 针对Windows的Python扩展 GUI类 ★★★☆☆
    65 第三方库 tornado 非阻塞式Web服务器框架 web框架类 ★★★★★
    66 第三方库 django 重量级Web服务器框架 web框架类 ★★★★☆
    67 第三方库 flask 轻量级Web服务器框架 web框架类 ★★★☆☆
    68 第三方库 numpy 科学计算的基础软件包 科学计算类 ★★★★★
    69 第三方库 scipy 科学计算常用软件包 科学计算类 ★★★★☆
    70 第三方库 sympy 科学计算库 科学计算类 ★★★☆☆
    71 第三方库 eigen 矩阵运算库 科学计算类 ★★☆☆☆
    72 第三方库 pyopengl opengl的python接口 2D/3D类 ★★★★★
    73 第三方库 vispy 交互式科学可视化的Python库 2D/3D类 ★★★☆☆
    74 第三方库 vtk 三维计算机图形学、图像处理和可视化 2D/3D类 ★★★☆☆
    75 第三方库 mayavi 基于VTK的3D绘图库 2D/3D类 ★★★☆☆
    76 第三方库 matplotlib 2D绘图库 2D/3D类 ★★★★★
    77 第三方库 basemap matplotlib的地图库 2D/3D类 ★★★☆☆
    78 第三方库 pyproj 地理投影坐标转换库 2D/3D类 ★★☆☆☆
    79 第三方库 bokeh 针对浏览器的交互式可视化库 2D/3D类 ★★★★☆
    80 第三方库 pyecharts 生成 Echarts 图表的类库 2D/3D类 ★★★☆☆
    81 第三方库 h5py HDF文件读写库 数据处理类 ★★★☆☆
    82 第三方库 netcdf4 NC文件读写库 数据处理类 ★★★☆☆
    83 第三方库 pyshp shape文件解析 数据处理类 ★★☆☆☆
    84 第三方库 xmltodict xml转换成json 数据处理类 ★★★☆☆
    85 标准库 xml xml解析库 数据处理类 ★☆☆☆☆
    86 第三方库 lxml xml和html的解析库,支持XPath 数据处理类 ★★★★☆
    87 第三方库 BeautifulSoup xml和html的解析库 数据处理类 ★★★★☆
    88 第三方库 scrapy 网络爬虫库 数据处理类 ★★★★☆
    89 第三方库 pandas 数据分析工具包 数据处理类 ★★★★☆
    90 第三方库 scikit-learn 机器学习工具包 机器学习类 ★★★★★
    91 第三方库 milk 机器学习工具包 机器学习类 ★★★☆☆
    92 第三方库 tensorflow 深度学习框架 机器学习类 ★★★★☆
    93 第三方库 keras 深度学习框架 机器学习类 ★★★☆☆
    94 第三方库 nltk 自然语言处理工具包 机器学习类 ★★★☆☆
    95 第三方库 pip 包和依赖关系管理工具 工具类 ★★★★★
    96 第三方库 setuptools 包和依赖关系管理工具 工具类 ★★★☆☆
    97 第三方库 whell whl文件打包工具 工具类 ★☆☆☆☆
    98 第三方库 py2exe python脚本打包工具 工具类 ★★☆☆☆
    99 第三方库 cx_freeze python脚本打包工具 工具类 ★★★★☆
    100 第三方库 pyinstaller python脚本打包工具 工具类 ★★★★★

    后记

    近期有很多朋友通过私信咨询有关Python学习问题。为便于交流,我在CSDN的app上创建了“Python作业辅导”大本营,面向Python初学者,为大家提供咨询服务、辅导Python作业。欢迎有兴趣的同学使用微信扫码加入。

    在这里插入图片描述

    从博客到公众号,每一篇、每一题、每一句、每一行代码,都坚持原创,绝不复制抄袭,这是我坚守的原则。如果喜欢,请关注我的微信公众号“Python作业辅导员”。

    在这里插入图片描述

    展开全文
  • pcap文件格式pcap文件

    千次阅读 2016-04-01 11:30:21
    主题:pcap文件格式pcap文件   Pcap文件格式,这个网络上资料比较多,参考即可。   一、pcap文件格式(该部分引用网络资料) 原文网址:http://www.cnblogs.com/kernel0815/p/3803304.html 第一部分:PCAP包文件...

    主题:pcap文件格式及写pcap文件

     

    Pcap文件格式,这个网络上资料比较多,参考即可。

     

    一、pcap文件格式(该部分引用网络资料)

    原文网址:http://www.cnblogs.com/kernel0815/p/3803304.html

    第一部分:PCAP包文件格式

    (一)、基本格式:

       文件头 数据包头数据报数据包头数据报......

    (二)、文件头:

    文件头结构体,libpcap源码中定义如下
     struct pcap_file_header {
            bpf_u_int32 magic;
            u_short version_major;
            u_short version_minor;
            bpf_int32 thiszone;     /* gmt to local correction */
            bpf_u_int32 sigfigs;    /* accuracy of timestamps */
            bpf_u_int32 snaplen;    /* max length saved portion of each pkt */
            bpf_u_int32 linktype;   /* data link type (LINKTYPE_*) */
    };
    说明:
     1、标识位:32位的,这个标识位的值是16进制的 0xa1b2c3d4
    2、主版本号:16位, 默认值为0x2
    3、副版本号:16位,默认值为0x04
    4、区域时间:32位,实际上该值并未使用,因此可以将该位设置为0
    5、精确时间戳:32位,实际上该值并未使用,因此可以将该值设置为0
    6、数据包最大长度:32位,该值设置所抓获的数据包的最大长度,如果所有数据包都要抓获,将该值设置为65535;例如:想获取数据包的前64字节,可将该值设置为64
    7、链路层类型:32位, 数据包的链路层包头决定了链路层的类型。
     
    以下是数据值与链路层类型的对应表
    0            BSD       loopback devices, except for later OpenBSD
    1            Ethernet, and Linux loopback devices   以太网类型,大多数的数据包为这种类型。
    6            802.5 Token Ring
    7            ARCnet
    8            SLIP
    9            PPP
    10          FDDI
    100        LLC/SNAP-encapsulated ATM
    101        raw IP, with no link
    102        BSD/OS SLIP
    103        BSD/OS PPP
    104        Cisco HDLC
    105        802.11
    108        later OpenBSD loopback devices (with the AF_value in network byte order)
    113               special Linux cooked capture
    114               LocalTalk

     

    (三)、 packet数据包头:

    struct pcap_sf_pkthdr {

        struct pcap_timeval ts; /* time stamp */

        bpf_u_int32 caplen; /* length of portion present */

        bpf_u_int32 len; /* length this packet (off wire) */

    };

    struct pcap_timeval {

        bpf_int32 tv_sec; /* seconds */

        bpf_int32 tv_usec; /* microseconds */

    };


    说明:
     1、时间戳,包括:
    秒计时:32位,一个UNIX格式的精确到秒时间值,用来记录数据包抓获的时间,记录方式是记录从格林尼治时间的197011 00:00:00 到抓包时经过的秒数;
    微秒计时:32位, 抓取数据包时的微秒值。

    2、数据包长度:32 ,标识所抓获的数据包保存在pcap文件中的实际长度,以字节为单位。
     
    3、数据包实际长度: 所抓获的数据包的真实长度,如果文件中保存不是完整的数据包,那么这个值可能要比前面的数据包长度的值大。

    (四)、packet数据:

      Packet(通常就是链路层的数据帧)具体内容,长度就是Caplen,这个长度的后面,就是当前PCAP文件中存放的下一个Packet数据包,也就是说:PCAP文件里面并没有规定捕获的Packet数据包之间有什么间隔字符串,下一组数据在文件中的起始位置。我们需要靠第一个Packet包确定。最后,Packet数据部分的格式其实就是标准的网路协议格式了可以任何网络教材上找得到。

     

     

    二、写pcap文件

    官网上关于libpcap的介绍挺全面,可以参考,以下为写pcap文件的代码,这里只列出需要调用的函数,函数参数原型参考官方文档。

    说明:/* ... ...*/表示省略的代码。头文件为#include <pcap.h>,编译时链接-lpcap

      如果没有安装libpcap动态库的话,centos下,镜像源和网络正常的情况下,安装命令为:

    yum install libpcap

    yum install libpcap-devel

     

    int test{

    /* ... ...*/

    pcap_dumper_t *pdumper;

    pcap_t *handler;

    handler = pcap_open_dead(1, 65535); /* 不限制包的长度 */

    pdumper = pcap_dump_open(handler, pcap_path); /* handler是函数内部malloc的,查看了下源代码没有释放,所以还是需要调用者释放的 */

    if(handler){

    free(handler);

    handler  = NULL;

    }

     

    struct pcap_pkthdr hdr;

    hdr.ts.tv_sec = 0;

    hdr.ts.tv_usec = 0;

     

    DataUnit *p = ptr_head;

    int len = 0;

    int loop_count = 0;

    char sessid[SESSLEN+1] = {0};

     

    /* 获取文件中的第一个会话id */

    memcpy(sessid, p->sessid, strlen(p->sessid));

    sessid[strlen(p->sessid)] = '\0';

    int count_len = 0;

    char *buf = NULL;

    /* 构造数据包结束标识 */

    char end_flag[SESSLEN + 1];

    loop_count = 0;

    while(loop_count < SESSLEN){

    end_flag[loop_count] = 'F';

    loop_count++;

    }

    end_flag[SESSLEN] = '\0';

    loop_count = 500;

    // while((strcmp(sessid ,p->sessid) == 0) && (count_len++ < FILEPACKETS)){

    while((count_len++ < FILEPACKETS)&&(loop_count--)){

    if(strcmp(p->sessid, end_flag) == 0)

    break;

    len = (p+1)->offset - p->offset;

    printf("packet len = %d\n", len);

    buf = (char*)malloc(len+1);

    if(NULL == buf)

    goto err_exit_free;

    memcpy(buf, ptr_read + p->offset, len);

    /* 构造数据包头 */

    hdr.caplen = len;

    hdr.len = len;

     

    /* 数据包写入 */

    pcap_dump((u_char*)pdumper, &hdr, buf);

    free(buf);

    buf = NULL;

    p++;

    }

    /* 清空缓冲区 */

    pcap_dump_flush(pdumper);

    pcap_dump_close(pdumper);

    /* ... ...*/

     

    }

    展开全文
  • QT读写改XML格式文件

    万次阅读 2018-02-09 10:06:54
    100 ) ; QPushButton* pReadBtn = new QPushButton(pButtonFrame) ; pReadBtn->setText( "保存XML" ) ; connect(pReadBtn,SIGNAL(clicked()),this,SLOT(slot_saveXMl())) ; QPushButton* pQuitBtn = new ...
  • HDF5数据格式读写

    万次阅读 2018-11-30 10:38:35
    在深度学习中,通常会使用巨量的数据或图片来训练网络。对于如此大的数据集,如果对于每张图片都单独硬盘读取、预处理、之后...1 hdf5格式使用方法 1.1 hdf5文件介绍 一个HDF5文件是一种存放两类对象的容器:da...
  • 【kimol君的无聊小发明】—用python图片格式批量处理工具前言一、思路分析二、调整尺寸三、调整大小四、整合代码在最后 前言 某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~ 当我打开文件夹以回顾往事之...
  • 1 for 语句 for语句的基本格式 for(循环变量赋初值;条件;循环变量改变) { 语句体; } *注:特别地,当for如果只管一条语句时,则可以省略{} #include<stdio.h> int main() { int i=0,sum=0; for(;i<=...
  • JAVA 输出从1到100以内的质数,每5个一行。

    万次阅读 多人点赞 2016-08-02 15:51:54
    使用JAVA语言,输出1到100之间所有的质数,并按照每行5个的顺序排列。
  • 校园水卡M1卡破解

    万次阅读 多人点赞 2018-07-03 14:02:59
    M1卡说明及使用proxmark3破解方法看了网上的一些关于M1卡的文章,多数有些误导之嫌。首先谈谈M1卡的规格,M1卡的容量为1KB,好多网上8KB,这里其实是有个误区,应该是8K位。1Byte=1B=8位。其实也就是说8k位想到...
  • 一、关于EDF(European Data Format)格式的介绍 欧洲数据格式(EDF)是一种用于交换和存储多通道生物和物理信号的简单而灵活的格式。它是由几位在哥本哈根举行的1987年国际睡眠大会上首次会见的欧洲“医疗”工程师...
  • 自己动手C语言格式化输出函数(三)

    万次阅读 多人点赞 2011-12-24 10:00:24
    上接《自己动手C语言格式化输出函数(二)》、《自己动手C语言格式化输出函数(一)》。 八、格式化浮点数(有关浮点数的数据定义和底层的数据转换函数见《自己动手C语言浮点数转换字符串函数》一文)。// ...
  • hdf5格式的matlab读写操作

    万次阅读 热门讨论 2015-02-03 13:24:24
    最近要用caffe处理一个multi-label的回归问题,就是输出是一个向量,不是一个具体的数值,这个时候之前的leveldb格式就不凑效了,因为caffe源代码里面默认label是一个数值,网上搜了下,都说hdf5格式可以解决这个...
  • 1. 原始数据 hive&gt;...100 Gtalk 1000 Skype      2. 创建保存为parquet格式的数据表   hive&gt; CREATE TABLE parquet_table(age INT, name STRING)STORED AS PARQUET; ...
  • C语言excel文件(csv格式

    万次阅读 2016-12-06 15:25:46
    csv:简化版excel,在PC机上等同于excel,可进行各种excel计算、画图。 #define EACH_FILE_MAX_BYTE 52428800 //-----------------------...// 功能:存放数据为csv格式 // 输入: filename 写入U盘的文件名称,如ai.
  • 质数(prime number)又称素数,有无限个。 质数定义为在大于1的自然数中,除了1和它本身以外不再有...方便初学者,看看怎么代码。 代码内部的细节(都是针对没开始工作,或者刚刚工作的哥们): 1,模块化思想。 先
  • opencv和matplotlib是比较常用的图像分析模块。在Ipython里面,opencv不能直接显示出来,所以有些时候会...1、matplotlib的读入与显示 import matplotlib.pyplot as plt import numpy as np from PIL import ...
  • 下面请你个程序,自动把读入的美国格式的日期改写成中国习惯的日期。 世界上不同国家有不同的日期的习惯。比如美国人习惯成“月-日-年”,而中国人习惯成“年-月-日”。下面请你个程序,自动把读入的美国...
  • int main() { int a, b; printf("请输入两个整数:");...printf("%d is %.1f percent of %d", a, (float(a)/b)*100, b); return 0; } 嗯,需要强行扶一波int,扶成float int int 得 int int float 得 float
  • 利用c语言实现1+1/2+1/3...+1/100

    千次阅读 2020-01-07 13:55:21
    #include <stdio.h> #include <math.h> void main(){ int sum,k,i; sum=0,k=0; for (i=1; i<=100;... sum+=1/i;... printf("1+1/2+1/3...+1/100的和为:%d\n",sum); } ...
  • 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100^。输出格式:在一行内输出n的各位数字之和的每一...
  • 市场部的小杨最近特别不开心,跑过来找我诉苦:“陈哥,我每天都要给100个客户发word版的当日价格通知,每份通知只有称呼不一样,我一份一份的改完一上午就过去了,工作特别无聊,太苦恼了。 我说:“来,我教你...
  • 4、分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) [选做题] For: int sum = 0; int i=1; for(;i&amp;lt;101;i++){ if(i%3==0){ sum= sum +i; } else{ } ...
  • 题目:按下面的程序框架编程,使用循环语句计算1+2+3+…+100,并把结果保存在物理地址12345H指向的字存储单元中。 CODES SEGMENT ASSUME CS:CODES START: ;此处输入功能实现代码 MOV AH,4CH INT 21H CODES ENDS...
  • 例题:以表格的格式显示1到10的乘法表。 代码如下: #include int main() { int i,k; printf("乘法表: \n"); printf("X: 1 2 3 4 5 6 7 8 9 10\n"); printf("-+----------------------------------------\n"); ...
  • if (pages % 20) > 0: # 如果页码除以20还有余数,页码数+1,方便获取全部数据 pages += 1 for page in range(0, pages+1): url = f"https://weread.qq.com/web/bookListInCategory/{category_num}?maxIndex={page...
  • for循环举例(1+1/2+1/3...+1/99+1/100

    千次阅读 2014-01-23 18:51:00
    我以前学C语言时学的很不扎实,再加上长时间没有看书,所以忘了许多知识(其实有许多知识当初就没掌握),所以即使做起以前的题来,也很难一步到位,比如说一个关于for循环的小题:求1+1/2+1/3...+1/99+1/100的和。...
  • function outputmoney(number) { if (isNaN(number) || number == "") return "";...number = Math.round(number * 100) / 100; if (number return '-' + outputdollars(Math.floor(Math.abs(number) - 0) + '')
  • 工作中想把历史的APP日志结构化Hive中进行查询,由于数据较大,需要进行压缩,根据Hive官方提供的几种压缩格式分别进行写入,读取,OLAP计算的性能测试,以求找到最好的压缩格式。   二.测试方法概述   数据...
  • python100道经典例题(1 ~10)

    千次阅读 多人点赞 2020-12-17 20:41:51
    python100道经典例题(1 ~10) (1~10) 题目1:有1, 2, 3, 4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:依次遍历 题目2:企业发放的奖金根据利润提成。利润低于或等于10万元时,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 652,543
精华内容 261,017
关键字:

从1写到100的格式