avatar

RWO.cc

读一次写一次

  • 首页
  • 搭建手册
  • 笔记
  • 短视频
  • 关于
  • 🌈200粉丝🌈
Home python零碎知识点
文章

python零碎知识点

Posted 2024-05-8 Updated 2024-05- 8
By RWO.
7~9 min read

集合只保留第一个元素

  1. 使用next和iter函数:

    pythonCopy codes = {1, 2, 3, 4}
    s = {next(iter(s))}
    
  2. 转换为列表并选择第一个元素:

    pythonCopy codes = {1, 2, 3, 4}
    s = {list(s)[0]}
    
  3. 使用pop方法移除其它元素:

    pythonCopy codes = {1, 2, 3, 4}
    first_element = next(iter(s))
    s.clear()
    s.add(first_element)
    

DataFrame转换成列表套字典

要将DataFrame中的两列转换成列表套字典的格式,我们可以使用to_dict方法,并指定orient='records'。这里假设DataFrame的两列分别是“序号”和“提示词”,可以使用以下代码来完成转换:

pythonCopy codeimport pandas as pd

# 假设这是你的DataFrame
data = {
    '序号': [1, 2, 3],
    '提示词': ['apple', 'banana', 'cherry']
}
df = pd.DataFrame(data)

# 转换DataFrame到列表套字典
result = df.rename(columns={'序号': 'id', '提示词': 'title'}).to_dict(orient='records')
print(result)

DPI获取

1. 在Python中获取显示器DPI

如果您使用的是Windows系统,可以使用win32api模块来获取屏幕的DPI。以下是一个例子:

pythonCopy codeimport ctypes

def get_screen_dpi():
    # 创建一个DC(Device Context)对象,用于后续获取DPI
    user32 = ctypes.windll.user32
    dc = user32.GetDC(0)
    
    # DPI for X Axis and Y Axis (usually the same for modern screens)
    dpi_x = ctypes.windll.gdi32.GetDeviceCaps(dc, 88)  # 88 is the index for LOGPIXELSX
    dpi_y = ctypes.windll.gdi32.GetDeviceCaps(dc, 90)  # 90 is the index for LOGPIXELSY
    
    user32.ReleaseDC(0, dc)
    return dpi_x, dpi_y

dpi_x, dpi_y = get_screen_dpi()
print(f"The screen DPI is {dpi_x} by {dpi_y}")

2. 在Web浏览器中估算DPI

如果您正在开发一个Web应用,可以使用JavaScript来估算浏览器的DPI:

javascriptCopy codefunction getDPI() {
    var div = document.createElement("div");
    div.style.height = "1in";
    div.style.width = "1in";
    div.style.top = "-100%";
    div.style.left = "-100%";
    div.style.position = "absolute";

    document.body.appendChild(div);
    var dpi = window.getComputedStyle(div).getPropertyValue('width');
    document.body.removeChild(div);

    return parseFloat(dpi);
}

console.log("The DPI of this screen is", getDPI());

3. 使用Pillow获取和设置图像DPI

如果您在处理图像,并需要获取或设置图像的DPI,可以使用Pillow库:

pythonCopy codefrom PIL import Image

image_path = 'path_to_your_image.jpg'
img = Image.open(image_path)
dpi = img.info.get('dpi')

if dpi:
    print("DPI of the image:", dpi)
else:
    print("DPI information is not available.")

# 设置DPI
img.save('output.jpg', dpi=(300, 300))

4. 通过操作系统的设置

在Linux或Mac OS中,您可以通常通过系统设置或使用系统命令行工具来查看或修改DPI设置。

深拷贝

直接使用 copy.deepcopy()

import copy

slide_layout_json = {
    "id": f"page_{j + 1}",
    "elements": [],
    "background": {
        "type": "image",
        "image": image_path
    },
}

# 使用 deepcopy 来深拷贝 slide_layout_json
slide_layout_total_json = copy.deepcopy(slide_layout_json)
笔记
学习 Python
License:  CC BY 4.0
Share

Further Reading

Oct 29, 2024

halo代码注入——实现悬浮展示当前文章二维码 和 自定义主题字体

文章页面悬浮在二维码标志上面,就会把当前页面链接变成二维码并且展示出来,我当前使用的主题没有,所以写此文章记录一下。 效果展示 悬浮二维码效果展示 自定义字体效果展示 代码注入位置 代码一:悬浮二维码 原始<

Aug 26, 2024

Tortoise ORM - values()和value_list()

django: values()与values_list() from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = model

Aug 25, 2024

tortoise orm 执行原生 SQL 查询

Tortoise ORM 提供了多种方式来执行 SQL 查询。 使用 execute_query_dict 方法执行查询,并以字典的形式返回查询结果: from tortoise.backends.asyncpg import client from typing import List, Opti

OLDER

pycharm 自动写入文件头信息

NEWER

Fastapi 简单示例

Recently Updated

  • 什么是 python 的闭包
  • 使用argparse模块解析命令行参数
  • Python中的二维码生成与解析(花里胡哨)
  • Python中的二维码生成与解析(基础使用)
  • 使用platform模块获取系统信息

Trending Tags

学习 Git 工具 SQL docker-compose 每日一点 快捷键 Flink fastapi Windows

Contents

©2025 RWO.cc. Some rights reserved.

Using the Halo theme Chirpy