分类: Python

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。

Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。

像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。

官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。

Python 2.7 被确定为最后一个 Python 2.x 版本。

  • python sqlite中where子句模糊查询

    在 Python 中使用 SQLite 进行模糊查询时,可以使用 LIKE 操作符和 % 通配符来实现。不过,SQLite 不支持使用 ? 号作为占位符来进行模糊查询,因此需要在查询语句中手动添加 % 通配符。

    以下是一个示例代码,演示了如何在 Python 中使用 SQLite 进行模糊查询:

    import sqlite3  
      
    # 连接 SQLite 数据库  
    conn = sqlite3.connect('example.db')  
      
    # 获取游标  
    c = conn.cursor()  
      
    # 定义要查询的字符串  
    search_string = 'foo'  
      
    # 构建查询语句,使用 % 通配符进行模糊匹配  
    query = "SELECT * FROM my_table WHERE my_column LIKE '%{}%'".format(search_string)  
      
    # 执行查询语句  
    c.execute(query)  
      
    # 输出查询结果  
    for row in c:  
        print(row)  
      
    # 关闭游标和数据库连接  
    c.close()  
    conn.close()

    在上面的代码中,我们首先使用 LIKE 操作符和 % 通配符构建了一个模糊查询语句,然后使用 format() 方法将要查询的字符串填充到查询语句中。接着,我们使用游标执行查询语句,并遍历结果集输出查询结果。最后,我们关闭游标和数据库连接。

  • python tkinter如何销毁组件

    在Python的Tkinter库中,清除当前组件(如画布或窗口)内的画面,通常可以通过使用delete方法来实现。具体做法取决于你要清除的组件类型。

    以下是一些示例:

    1. 清除画布(Canvas)上的所有内容:
    canvas = tkinter.Canvas(root, width=500, height=500)  
    # 添加一些内容...  
    canvas.delete("all")  # 删除所有内容
    1. 清除窗口(Window)上的所有内容:

    如果你想要清除一个窗口上的所有内容,包括其子组件,你可以使用destroy方法。但是要注意,这将销毁窗口以及它的所有子组件。

    root = tkinter.Tk()  
    # 添加一些内容...  
    root.destroy()  # 销毁窗口及其所有子组件

    如果你只想清除窗口上的某些特定组件,你可以分别对这些组件调用destroy方法。

    button = tkinter.Button(root, text="Button")  
    button.pack()  
    # 其他代码...  
    button.destroy()  # 只销毁按钮

    请注意,在调用destroy方法后,你应该重新创建并添加新的组件。

    以上都是清除Tkinter组件画面的常见方式。你需要根据你的具体情况来选择最合适的方法。

  • python tkinter如何确定组件存在?

    在Python的Tkinter库中,你可以使用winfo_exists()方法来检查一个组件(如一个窗口、按钮或其他任何组件)是否存在。

    以下是一个简单的例子:

    import tkinter as tk  
      
    root = tk.Tk()  
    button = tk.Button(root, text="Click me")  
    button.pack()  
      
    # 检查按钮是否存在  
    if button.winfo_exists():  
        print("Button exists")  
    else:  
        print("Button does not exist")  
      
    root.mainloop()

    在这个例子中,winfo_exists()将返回True,因为按钮已经被创建并添加到窗口中。如果你试图在一个还没有创建的组件上调用winfo_exists(),那么它将返回False。

    这个方法对于检查组件是否已经被正确地创建和添加到窗口中非常有用,尤其是在处理复杂的GUI布局时,你可能需要确保所有的组件都已经被正确地添加到了窗口中。

  • python tkinter 导入菜单模块

    在 Python 中,使用 Tkinter 库创建 GUI 应用程序时,可以使用 Menu 类来创建菜单。Menu 类提供了一些方法和属性,可以用于创建菜单和菜单项,并将它们添加到应用程序中。

    以下是一个简单的示例,演示如何在 Tkinter 应用程序中创建菜单:

    import tkinter as tk  
      
    def do_something():  
        print("Menu item clicked!")  
      
    # 创建主窗口  
    root = tk.Tk()  
      
    # 创建菜单  
    menu = tk.Menu(root)  
    root.config(menu=menu)  
      
    # 创建菜单项  
    file_menu = tk.Menu(menu)  
    menu.add_cascade(label="File", menu=file_menu)  
    file_menu.add_command(label="Open", command=do_something)  
    file_menu.add_command(label="Save", command=do_something)  
    file_menu.add_separator()  
    file_menu.add_command(label="Exit", command=root.quit)  
      
    # 创建另一个菜单项  
    edit_menu = tk.Menu(menu)  
    menu.add_cascade(label="Edit", menu=edit_menu)  
    edit_menu.add_command(label="Cut", command=do_something)  
    edit_menu.add_command(label="Copy", command=do_something)  
    edit_menu.add_command(label="Paste", command=do_something)  
      
    # 运行应用程序  
    root.mainloop()

    在这个示例中,我们首先创建了一个主窗口 root。然后,我们创建了一个 Menu 对象,并将其添加到主窗口中。接下来,我们创建了两个子菜单 file_menu 和 edit_menu,并将它们添加到主菜单中。最后,我们将一些菜单项添加到子菜单中,并将它们与一些回调函数关联起来。在运行应用程序时,用户可以单击菜单项来触发相应的回调函数。

  • python项目如何导出当前项目使用到的包名以及版本号形成txt文件

    Pycharm2019.3.3如何导出当前项目依赖包列表

     

    请在你的启动文件中,写入以下代码,并在当前项目的虚拟环境中的python解释器运行当前项目:

    import pkg_resources
    # 获取当前程序中使用到的所有包名称及其版本号
    packages = [f"{package.key}=={package.version}" for package in pkg_resources.working_set] 
    return '<br>'.join(packages)

    (记住:必须是当前项目的解释器,使用系统的解释器运行项目,输出的是系统中安装的所有的依赖包)

     

    以下是一个简单的flask示例(请以管理员身份运行pycharm):

    from flask import Flask
    import pkg_resources
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        # 获取当前程序中使用到的所有包名称及其版本号
        packages = [f"{package.key}=={package.version}" for package in pkg_resources.working_set]
        # 将包名称及其版本号写入txt文件中
        with open('requirements.txt', 'w') as f:
            f.write('\n'.join(packages))
        return '<br>'.join(packages)
    
    if __name__ == '__main__':
        app.run()

     

    有时候我发现他怎么都创建不了这个本地文件,那就算了,我直接打开网页复制内容,自己创建一个txt文件,粘贴进去。

     

  • python程序自动安装没有的模块

    subprocess 模块是 Python 标准库中的一部分,因此在安装 Python 后就自带了该模块,无需额外安装。subprocess 模块提供了一种在 Python 程序中执行外部命令的方法,可以用于执行系统命令、启动子进程等操作。

     

    可以使用 pip 命令来自动安装 Python 模块。在 Python 程序中,可以使用 subprocess 模块来执行命令行命令。例如,下面的代码可以检查是否安装了 requests 模块,如果没有安装,则自动安装该模块:

    import subprocess
    
    try:
        import requests
    except ImportError:
        subprocess.check_call(['pip', 'install', 'requests'])

    try 块中尝试导入 requests 模块,如果导入失败,则说明没有安装该模块,使用 subprocess.check_call(['pip', 'install', 'requests']) 命令自动安装该模块。subprocess.check_call 函数会执行命令行命令,并等待命令执行完成。如果命令执行失败,则会抛出异常。

     

    如何使用到自己写的程序中

    你可以在你自己的 Python 程序中使用类似的代码来自动安装缺失的模块。例如,你可以在程序的开头添加以下代码:

    import subprocess
    
    try:
        import requests
    except ImportError:
        subprocess.check_call(['pip', 'install', 'requests'])
        import requests
    
    from flask_cors import CORS
    from flask import Flask, jsonify, request, render_template
    import webbrowser
    
    app = Flask(__name__)
    CORS(app)
    
    @app.route('/')
    def hello_world():
        ip = request.headers.get('X-Forwarded-For', request.remote_addr)
        url = f'http://{ip}:5000/'
        return render_template('index.html',url=url)

     

  • 使用python生成二维码

    import qrcode
    
    # 创建二维码对象
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    
    # 设置二维码数据
    data = "https://kuyour.top"
    qr.add_data(data)
    
    # 生成二维码图片
    qr.make(fit=True)
    img = qr.make_image(fill_color="black", back_color="white")
    
    
    # 保存二维码图片
    img.save("qrcode.png")
    
    
    '''
    在使用 qrcode 库生成二维码时,可以通过设置 QRCode 对象的属性来调整二维码的大小、纠错等级、颜色等。以下是一些常用的属性:
    
    version:二维码的版本,取值范围为 1 到 40,默认为 None,表示自动选择版本。
    
    error_correction:二维码的纠错等级,取值为 qrcode.constants.ERROR_CORRECT_L、qrcode.constants.ERROR_CORRECT_M、qrcode.constants.ERROR_CORRECT_Q 或 qrcode.constants.ERROR_CORRECT_H,默认为 qrcode.constants.ERROR_CORRECT_L。
    
    box_size:二维码中每个方块的像素大小,默认为 10。
    
    border:二维码边框的像素大小,默认为 4。
    
    image_factory:二维码图片的工厂类,用于生成二维码图片,默认为 qrcode.image.pil.PilImage。
    
    mask_pattern:二维码的掩码模式,取值范围为 0 到 7,默认为 None,表示自动选择掩码模式。
    
    fill_color:二维码方块的填充颜色,默认为黑色。
    
    back_color:二维码背景的颜色,默认为白色。
    '''

     

  • SqlAlchemy汇总

    SqlAlchemy汇总

    https://www.cnblogs.com/miaoweiye/p/12665186.html

     

  • 电脑自动点击屏幕,防止屏幕长时间不活动休眠

    你可能需要安装的python库:

    pip install pyautogui

     

    使用下面的代码

    import time
    from ctypes import *
    import pyautogui
    pyautogui.FAILSAFE = False  # 加这行就可以解决
    time.sleep(5)
    i = 0
    while 1:
        # windll.user32.SetCursorPos(600,300);
        # windll.user32.SetCursorPos(900,300);
        if i % 2 == 0:
            pyautogui.click(1500, 600, clicks=1, interval=0.0, button='left')
        else:
            pyautogui.click(1600, 700, clicks=1, interval=0.0, button='left')
        time.sleep(6)
        print("==================this is the : " + str(i)+" times click=================")
    

    不加pyautogui.FAILSAFE = False 的话,会报错(类似下面这样的):

    Traceback (most recent call last):
    File "c:/Users/qapd04/Desktop/fr_project/自动点击屏幕,防止屏幕休眠.py", line 11, in <module>
    pyautogui.click(1500, 600, clicks=1, interval=0.0, button='left')
    File "D:\Program Files\Python38\lib\site-packages\pyautogui\__init__.py", line 597, in wrapper
    failSafeCheck()
    File "D:\Program Files\Python38\lib\site-packages\pyautogui\__init__.py", line 1722, in failSafeCheck
    raise FailSafeException(
    pyautogui.FailSafeException: PyAutoGUI fail-safe triggered from mouse moving to a corner of the screen. To disable this fail-safe, set pyautogui.FAILSAFE to False. DISABLING FAIL-SAFE IS NOT RECOMMENDED.

    参考链接:

    https://blog.csdn.net/weixin_41267342/article/details/104313265?spm=1001.2014.3001.5506

    https://www.kkwen.cn/index.php/archives/24/

    https://blog.csdn.net/u013797426/article/details/127079573

  • pycharm 快捷键

    alt按住不送,鼠标点击多出文本,可多处编辑,shift+end可以直接选到当前行末尾