分类: 未分类

  • js实时显示屏幕尺寸

    <div id="screenWidthDisplay">屏幕宽度: </div>
    <script>
    // 函数用于更新屏幕宽度显示
    function updateScreenWidth() {
    var screenWidthDisplay = document.getElementById('screenWidthDisplay');
    // 刷新屏幕宽度显示,而不是追加
    screenWidthDisplay.textContent = '屏幕宽度: ' + window.innerWidth + 'px';
    }
    // 监听窗口resize事件
    window.addEventListener('resize', updateScreenWidth);
    // 初始化屏幕宽度显示
    updateScreenWidth();
    </script>

     

  • js获取ie浏览器版本

    js获取ie浏览器版本

    <script>
    var version = document.documentMode;
    console.log('IE version: ' + version);
    var userAgent = window.navigator.userAgent;
    var version = parseInt(userAgent.substring(userAgent.indexOf('MSIE ') + 5, userAgent.indexOf('.', userAgent.indexOf('MSIE '))), 10);
    console.log('userAgent:'+userAgent);
    if (isNaN(version)) {
      // 对于IE 11和其他现代浏览器,使用以下方法
      var match = /Trident\/.*rv:(\d+.\d+)/.exec(userAgent);
      if (match) {
        version = parseFloat(match[1]);
      }
    }
    
    console.log('Browser version: ' + version);
    </script>

     

  • 启用ie浏览器的方法

    方法一:

    来源:https://www.52pojie.cn/thread-1855968-1-1.html

    创建一个.vbs文件,把下面的代码贴进去,然后双击即可

    启动ie.vbs

    CreateObject("InternetExplorer.Application").Visible=true

     

     

  • data.get和request.form.get

    request.form.get('书籍作者')data.get('title', book.title) 这两行代码都用于从 HTTP 请求中获取数据,但它们在用法和上下文中存在一些差异:

    1. 数据来源
      • request.form.get('书籍作者'):这行代码用于从 Flask 的 request.form 属性中获取数据,request.form 是一个类似于字典的对象,包含了客户端通过 application/x-www-form-urlencoded  multipart/form-data 编码类型提交的表单数据。
      • data.get('title', book.title):这行代码中的 data 通常是一个从 request.get_json() 解析得到的 JSON 对象,get 方法用于从 JSON 对象中获取数据。如果指定的键(在这个例子中是 'title')存在,则返回其对应的值;如果不存在,则返回默认值 book.title
    2. 数据类型
      • request.form.get() 方法返回的数据类型取决于表单字段的数据类型,通常是字符串。
      • data.get() 方法返回的数据类型取决于 JSON 对象中的数据类型,可能是字符串、数字、布尔值、列表或字典等。
    3. 默认值
      • request.form.get('书籍作者') 没有提供默认值的参数,如果在表单数据中没有找到 '书籍作者' 键,将返回 None
      • data.get('title', book.title) 明确提供了默认值 book.title,如果在 JSON 数据中没有找到 'title' 键,将使用书籍当前的标题作为默认值。
    4. 使用场景
      • 当您处理一个包含表单数据的 POST 请求时,通常会使用 request.form.get() 来获取数据。
      • 当您处理一个发送 JSON 数据的 POST 请求时,通常会使用 request.get_json() 来解析数据,然后使用 data.get() 来获取特定的字段。
    5. 编码类型
      • request.form 适用于处理 URL 编码的表单数据(例如,来自一个带有 <input> 元素的 HTML 表单)。
      • request.get_json() 适用于处理 JSON 编码的数据(例如,来自一个使用 AJAX 或其他 JavaScript 方法发送 JSON 格式数据的前端应用)。

    在实际应用中,选择哪种方法取决于您的具体需求和客户端发送的数据格式。如果您的 Flask 应用期望接收 JSON 格式的请求体,那么使用 request.get_json()data.get() 是合适的;如果您的表单使用传统的表单提交方式,那么使用 request.form.get() 会更合适。

  • py遍历文件夹

    若你的文件夹中包含日文字符,请不要使用glob库,因为它不识别日文字符.

  • ffmpeg命令

    ffmpeg命令 = [
            'ffmpeg',
            '-i', 输入文件路径,                       # 输入文件路径
            '-err_detect', 'ignore_err',               # 添加错误容错选项
            '-vcodec', 'libx264',                      # 使用 libx264 视频编解码器
            '-acodec', 'aac',                          # 使用 AAC 音频编解码器
            '-strict', 'experimental',                 # 允许使用实验性编解码器
            '-movflags', '+faststart',                 # 使 MP4 文件快速开始播放
            '-b:v', f'{video_bitrate}',                # 视频比特率
            '-vf', f"scale=-2:{height}",               # 视频过滤器,缩放视频高度,保持宽高比
            '-b:a', '128k',                           # 音频比特率
            '-ac', '2',                                # 音频通道数
            '-r', str(fps),                            # 帧率
            输出文件路径                              # 输出文件路径
        ]

     

  • for /L %i IN (1,1,254) DO ping -w 1 -n 1 192.168.3.%i

    https://jingyan.baidu.com/article/3d69c551251054b1ce02d73e.html

     

    for /L %i IN (1,1,254) DO ping -w 1 -n 1 192.168.3.%i

    以上cmd命令可以ping测试192.168.10网段下的所有ip地址

    也可以把ping -w 1的1改为0.001,这样请求结果会更快

    然后通过arp -a命令查看缓存表有哪些ip地址在线

     

    kimi ai

    这是一条Windows命令提示符(cmd)下的批处理命令,用于对一个指定的子网中的所有可能的IP地址进行ping操作。具体来说,这条命令会尝试ping网段 192.168.3.0192.168.3.255 中的每一个IP地址。下面是命令各部分的详细解释:

    • for /L %i IN (1,1,254):这是一个for循环,/L表示循环变量 %i 将是一个数值。括号中的三个数字分别代表起始值(1)、步长(1)、结束值(254)。这个循环将从1开始,每次增加1,直到254结束。
    • DO:表示对于循环中的每个值,都执行后面的命令。
    • ping:这是Windows系统中用于发送ICMP回显请求的命令,用来检查网络连接是否可达。
    • -w 1-w 参数后面跟的数字表示等待响应的时间,单位是秒。这里设置为1秒,意味着每个ping请求发送后,等待1秒来接收响应。
    • -n 1-n 参数后面跟的数字表示发送的ping请求的次数。这里设置为1,意味着对每个IP地址只发送一次请求。
    • 192.168.3.%i:这是ping命令的目标IP地址。%i 会被循环中的当前数值所替换,因此实际的命令会是 ping -w 1 -n 1 192.168.3.1,然后是 192.168.3.2,依此类推,直到 192.168.3.254

    整个命令的作用是遍历子网 192.168.3.x 中的每个IP地址,发送单个ping请求,以检查哪些设备在线并响应ping。这可以用于快速扫描局域网内的活动设备。

    请注意,这个命令在某些网络环境中可能不被允许,因为它可能会产生大量网络流量,或者被网络管理员视为不安全的行为。此外,一些设备可能由于配置或策略原因,不会响应ping请求。

    kimi ai

    arp -a 是一个在 Windows 命令提示符(cmd)中使用的命令,用于显示当前的ARP(地址解析协议)缓存表。ARP缓存表存储了IP地址到MAC地址的映射关系,这些信息用于在本地网络(局域网)中解析和转发数据包。

    当网络中的设备需要通信时,它们使用ARP来查询其他设备的MAC地址。一旦查询到,该映射关系会被缓存一段时间,以避免重复查询。

    以下是 arp -a 命令的一些关键点:

    • 显示所有ARP条目arp -a 显示当前缓存中的所有ARP条目,包括静态和动态条目。
    • 接口:如果计算机连接到多个网络接口,arp -a 会为每个接口显示ARP缓存。
    • 条目信息:每个条目通常包括IP地址、MAC地址、类型(动态或静态)以及该条目最后被使用的时间。
    • 动态与静态条目:动态条目是自动添加的,当网络通信发生时,而静态条目是手动添加的,用于永久映射特定的IP地址到MAC地址。

    使用示例

    打开命令提示符,然后输入以下命令:

    arp -a

    这将列出所有当前的ARP缓存条目。

    其他ARP命令

    除了 arp -a,还有一些相关的命令用于管理ARP缓存:

    • arp -d:删除指定的ARP缓存条目。
    • arp -s:手动添加静态ARP缓存条目。

    例如,要删除指定的ARP缓存条目,可以使用:

    arp -d IP_ADDRESS

    IP_ADDRESS 替换为要删除的IP地址。

    要添加静态ARP条目,可以使用:

    arp -s IP_ADDRESS MAC_ADDRESS

    IP_ADDRESS 替换为要添加的IP地址,将 MAC_ADDRESS 替换为对应的MAC地址。

    使用这些命令可以帮助你管理网络配置和解决网络问题。

  • 有什么办法能够让大文件hash快一点吗

    kimi ai

    计算大文件的哈希值时,性能可能会受到文件读取速度和哈希计算速度的影响。以下是一些优化大文件哈希计算速度的方法:

    1. 增加读取块大小:在您的代码中,每次读取文件的块大小是4096字节。您可以尝试增加这个块大小,以减少读取次数。但是要注意不要设置得太大,以免占用过多内存。
    2. 多线程或多进程:如果文件非常大,可以考虑使用多线程或多进程来并行处理文件的不同部分。Python的concurrent.futures模块可以用来实现这一点。
    3. 使用更快的哈希算法:虽然SHA-256是一个广泛使用的算法,但如果您对安全性要求不高,可以考虑使用更快的哈希算法,比如MD5或SHA-1。但请注意,这些算法不再推荐用于需要高安全性的场景。
    4. 优化I/O操作:确保文件系统和存储设备的性能是最优的。例如,使用SSD而不是HDD可以显著提高I/O速度。
    5. 减少日志记录:在处理大文件时,减少或优化日志记录操作,因为日志记录可能会降低性能。
    6. 使用更快的硬件:如果可能的话,使用更快的CPU和更多的RAM可以提高哈希计算的速度。
    7. 避免使用Python的GIL:Python的全局解释器锁(GIL)可能会限制多线程的并行执行。在某些情况下,使用多进程而不是多线程可能会获得更好的性能。
    8. 使用专门的库:有些专门的库可能对哈希计算进行了优化,比如hashlib的某些实现可能比其他实现更快。
    9. 预分配内存:如果使用文件读取函数,预分配足够的内存空间可以减少内存分配的开销。
    10. 避免在循环中打印日志或输出:在循环中打印日志或输出到控制台会显著降低性能,应该尽量避免。

    请注意,即使采取了上述措施,哈希计算仍然是一个计算密集型的任务,特别是对于非常大的文件。您需要在安全性、性能和资源使用之间找到平衡点。

  • ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. tensorflow-gpu 2.6.0 requires typing-extensions~=3.7.4, but you have typing-extensions 4.12.2 which is incompatible.

    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    tensorflow-gpu 2.6.0 requires typing-extensions~=3.7.4, but you have typing-extensions 4.12.2 which is incompatible.

    tensorflow-gpu卸载掉就行了

  • 查询指定表名的字段信息

    -- 查询指定表名的字段信息
    select * from information_schema.columns where table_name='用户表'