Python 小技巧:路径检查函数

30个Python常用小技巧 1、原地交换两个数字 x, y =10, 20 print(x, y) y, x = x, y print(x, y) 10 20 20 10 2、链状比较操作符 n = 10 print(1 < n < 20) print(1 > n <= 9) True False 3、使用三元操作符来实现条件赋值 [表达式为真的返回值] if [表达式] else [表达式为假的返回值] y = 20 x = 9 if (y == 10) else 8 print(x) 8 找abc中最小的数 阅读详情

研究目的

在对输入路径进行核查时,需要检查其是否存在、是否可访问,并记录错误信息。

1.0

  • 编写两个辅助函数
    • check_directory_path(path: Path) -> dict:返回一个字典,包含是否存在、是否可读、错误信息等。
    • check_file_path(path: Path) -> dict:同样返回一个字典,包含文件是否存在、是否可读、错误信息等。
from datetime import datetime
import logging
from pathlib import Path
from typing import Optional, Union, Tuple, Dict, Any
import os
import stat
import sys

def check_directory_path(path: Path) -> Tuple[bool, Dict[str, Any]]:
    """
    检查目录路径的可访问性
    
    参数:
        path: 要检查的Path对象
        
    返回:
        (是否有效, 错误信息字典)
    """
    result = {
        "exists": False,
        "readable": False,
        "writable": False,
        "error_messages": []
    }
    
    try:
        # 检查路径是否存在
        if not path.exists():
            result["error_messages"].append("目录不存在")
            return False, result
        
        result["exists"] = True
        
        # 检查是否是目录
        if not path.is_dir():
            result["error_messages"].append("路径不是目录")
            return False, result
        
        # 检查读权限
        try:
            # 尝试列出目录内容
            next(path.iterdir())
            result["readable"] = True
        except PermissionError:
            result["error_messages"].append("没有读取目录的权限")
        except StopIteration:
            # 空目录,但有读取权限
            result["readable"] = True
        except Exception as e:
            result["error_messages"].append(f"读取目录时发生错误: {e}")
        
        # 检查写权限
        try:
            # 尝试创建一个临时文件来测试写权限
            test_file = path / ".write_test"
            test_file.touch()
            test_file.unlink()  # 删除测试文件
            result["writable"] = True
        except PermissionError:
            result["error_messages"].append("没有写入目录的权限")
        except Exception as e:
            result["error_messages"].append(f"测试目录写入权限时发生错误: {e}")
        
        # 如果没有错误消息,则目录可访问
        is_valid = len(result["error_messages"]) == 0
        return is_valid, result
        
    except Exception as e:
        result["error_messages"].append(f"检查目录时发生意外错误: {e}")
        return False, result

def check_file_path(path: Path) -> Tuple[bool, Dict[str, Any]]:
    """
    检查文件路径的可访问性
    
    参数:
        path: 要检查的Path对象
        
    返回:
        (是否有效, 错误信息字典)
    """
    result = {
        "exists": False,
        "readable": False,
        "writable": False,
        "error_messages": []
    }
    
    try:
        # 检查路径是否存在
        if not path.exists():
            result["error_messages"].append("文件不存在")
            return False, result
        
        result["exists"] = True
        
        # 检查是否是文件
        if not path.is_file():
            result["error_messages"].append("路径不是文件")
            return False, result
        
        # 检查读权限
        try:
            with open(path, 'rb'):
                pass
            result["readable"] = True
        except PermissionError:
            result["error_messages"].append("没有读取文件的权限")
        except Exception as e:
            result["error_messages"].append(f"读取文件时发生错误: {e}")
        
        # 检查写权限
        try:
            # 尝试以追加模式打开文件来测试写权限
            with open(path, 'ab'):
                pass
            result["writable"] = True
        except PermissionError:
            result["error_messages"].append("没有写入文件的权限")
        except Exception as e:
            result["error_messages"].append(f"测试文件写入权限时发生错误: {e}")
        
        # 如果没有错误消息,则文件可访问
        is_valid = len(result["error_messages"]) == 0
        return is_valid, result
        
    except Exception as e:
        result["error_messages"].append(f"检查文件时发生意外错误: {e}")
        return False, result

def check_path(path: Path) -> Tuple[bool, Dict[str, Any]]:
    """
    检查路径的可访问性,根据路径类型调用相应的检查函数
    
    参数:
        path: 要检查的Path对象
        
    返回:
        (是否有效, 错误信息字典)
    """
    logging.info(f"开始检查路径: {path}")
    
    if path.is_file():
        logging.info("路径是文件,进行文件检查")
        return check_file_path(path)
    elif path.is_dir():
        logging.info("路径是目录,进行目录检查")
        return check_directory_path(path)
    else:
        # 路径不存在或其他情况
        result = {
            "exists": False,
            "readable": False,
            "writable": False,
            "error_messages": ["路径不存在或无法确定类型"]
        }
        logging.warning("路径不存在或无法确定类型")
        return False, result

def get_user_input() -> Path:
    """
    获取用户输入的路径并进行验证
    
    返回:
        标准化后的Path对象
    """
    while True:
        user_input = input("请输入路径: ").strip()
        
        # 第一步:检查输入是否为空
        if not user_input:
            print("输入不能为空,请重新输入。")
            logging.warning("用户输入了空路径")
            continue
        
        # 第二步:标准化路径
        try:
            normalized_path = normalize_path(user_input)
            logging.info(f"标准化后的路径: {normalized_path}")
        except Exception as e:
            print(f"路径标准化失败: {e}")
            logging.error(f"路径标准化失败: {user_input} - {e}")
            continue
        
        # 第三步:检查路径
        is_valid, check_result = check_path(normalized_path)
        
        # 记录检查结果
        if is_valid:
            logging.info("路径检查通过")
            print("路径有效且可访问。")
            return normalized_path
        else:
            logging.warning(f"路径检查未通过: {check_result['error_messages']}")
            print("路径存在问题:")
            for error in check_result['error_messages']:
                print(f"  - {error}")
            
            # 询问用户是否继续使用此路径
            choice = input("是否继续使用此路径? (y/n): ").strip().lower()
            if choice == 'y':
                logging.info("用户选择继续使用有问题的路径")
                return normalized_path
            else:
                logging.info("用户选择重新输入路径")
                print("请重新输入路径。")

1.5

使用 pathlib 模块优化后的代码,它更加符合 Python 3.0 的风格,并且利用了 pathlib 提供的面向对象方法来处理文件系统操作,更加简洁:

from datetime import datetime
import logging
from pathlib import Path
from typing import Optional, Union, List, Tuple
import sys

# 使用 pathlib 优化的检查函数
def check_directory_path(path: Path) -> Tuple[bool, List[str]]:
    """检查目录路径的可访问性"""
    errors = []
    
    if not path.exists():
        errors.append("目录不存在")
        return False, errors
    
    if not path.is_dir():
        errors.append("路径不是目录")
        return False, errors
    
    # 检查读权限 - 尝试列出目录内容
    try:
        # 使用 pathlib 的 iterdir() 方法检查读权限
        next(path.iterdir())
    except PermissionError:
        errors.append("没有读取目录的权限")
    except StopIteration:
        # 空目录,但有读取权限
        pass
    except Exception as e:
        errors.append(f"读取目录时发生错误: {e}")
    
    # 检查写权限 - 尝试创建和删除临时文件
    test_file = path / ".write_test.tmp"
    try:
        test_file.touch()
        test_file.unlink()  # 删除测试文件
    except PermissionError:
        errors.append("没有写入目录的权限")
    except Exception as e:
        errors.append(f"测试目录写入权限时发生错误: {e}")
    
    return len(errors) == 0, errors

def check_file_path(path: Path) -> Tuple[bool, List[str]]:
    """检查文件路径的可访问性"""
    errors = []
    
    if not path.exists():
        errors.append("文件不存在")
        return False, errors
    
    if not path.is_file():
        errors.append("路径不是文件")
        return False, errors
    
    # 检查读权限 - 尝试打开文件
    try:
        with path.open('rb') as f:
            # 尝试读取一个字节
            f.read(1)
    except PermissionError:
        errors.append("没有读取文件的权限")
    except Exception as e:
        errors.append(f"读取文件时发生错误: {e}")
    
    # 检查写权限 - 尝试以追加模式打开文件
    try:
        with path.open('ab'):
            pass
    except PermissionError:
        errors.append("没有写入文件的权限")
    except Exception as e:
        errors.append(f"测试文件写入权限时发生错误: {e}")
    
    return len(errors) == 0, errors

def check_path(path: Path) -> Tuple[bool, List[str]]:
    """检查路径可访问性,只在遇到问题时记录日志"""
    if path.is_file():
        return check_file_path(path)
    elif path.is_dir():
        return check_directory_path(path)
    else:
        # 路径不存在时记录日志
        logging.warning(f"路径不存在或类型未知: {path}")
        return False, ["路径不存在或无法确定类型"]

# 用户输入处理
def get_user_input() -> Path:
    """获取用户输入的路径并进行验证"""
    while True:
        user_input = input("请输入路径: ").strip()
        
        if not user_input:
            print("输入不能为空,请重新输入。")
            logging.warning("用户输入了空路径")
            continue
        
        try:
            normalized_path = normalize_path(user_input)
        except Exception as e:
            logging.error(f"路径标准化失败: {e}")
            print(f"路径标准化失败: {e}")
            continue
        
        is_valid, errors = check_path(normalized_path)
        
        if is_valid:
            return normalized_path
        
        print("路径存在问题:")
        for error in errors:
            print(f"  - {error}")
        
        choice = input("是否继续使用此路径? (y/n): ").strip().lower()
        if choice == 'y':
            logging.warning(f"用户选择继续使用有问题的路径: {normalized_path}")
            return normalized_path
        else:
            print("请重新输入路径。")

主要优化点:

  1. 完全使用 pathlib 方法:

    • 使用 path.exists(), path.is_dir(), path.is_file() 等 pathlib 方法替代 os 模块的函数
    • 使用 path.iterdir() 检查目录读取权限
    • 使用 path.touch() 和 path.unlink() 测试目录写入权限
    • 使用 path.open() 方法检查文件读写权限
  2. 遵循 EAFP (Easier to Ask for Forgiveness than Permission) 原则:

    • 直接尝试执行操作并捕获异常,而不是先检查权限
    • 这提供了更准确的权限检查,因为权限可能在检查和实际操作之间发生变化
  3. Pythonic 的代码风格:

    • 充分利用 pathlib 的面向对象特性
    • 代码更简洁、更易读

2.0

方法1:使用 os.access()

# 检查写权限
if not os.access(path, os.W_OK):
    errors.append("没有写入目录的权限")
  • 优点:

    • 非常快速,不涉及任何磁盘 I/O
    • 不会创建任何临时文件
  • 缺点:

    • 可能存在 TOCTOU (Time of Check to Time of Use) 竞争条件
    • 在某些特殊情况下可能不准确(如磁盘已满、权限在检查后立即更改等)

方法2:使用 pathlib

# 如果目录不存在,尝试创建它来测试写权限
if not path.exists():
    try:
        path.mkdir(parents=True, exist_ok=True)
        # 创建成功,说明有写权限
        path.rmdir()  # 删除测试目录
    except PermissionError:
        errors.append("没有在当前目录创建子目录的权限")
    except Exception as e:
        errors.append(f"测试目录创建权限时发生错误: {e}")

结合两种方法

from datetime import datetime
import logging
from pathlib import Path
from typing import Optional, Union, List, Tuple, Dict
import os
import sys
import tempfile

def check_directory_path(path: Path) -> Tuple[bool, List[str]]:
    """检查目录路径的可访问性"""
    errors = []
    
    if not path.exists():
        errors.append("目录不存在")
        return False, errors
    
    if not path.is_dir():
        errors.append("路径不是目录")
        return False, errors
    
    # 检查读权限
    if not os.access(path, os.R_OK):
        errors.append("没有读取目录的权限")
    else:
        # 对通过快速检查的进行实际验证
        try:
            # 尝试列出目录内容(但限制数量)
            with os.scandir(path) as it:
                next(it)  # 尝试获取第一个条目
        except StopIteration:
            pass  # 空目录是正常的
        except PermissionError:
            errors.append("实际读取目录失败:权限不足")
        except Exception as e:
            errors.append(f"读取目录时发生错误: {e}")
    
    # 检查写权限 - 使用快速检查加验证的方式
    if not os.access(path, os.W_OK):
        errors.append("没有写入目录的权限")
    else:
        # 对通过快速检查的进行实际验证
        # 替换原来的写权限检查
        try:
            with tempfile.TemporaryDirectory(dir=path) as _:
                pass  # 成功创建即表示有写权限
        except PermissionError:
            errors.append("实际写入目录失败:权限不足")
        except Exception as e:
            errors.append(f"测试目录写入权限时发生错误: {e}")
    
    return len(errors) == 0, errors

def check_file_path(path: Path) -> Tuple[bool, List[str]]:
    """检查文件路径的可访问性"""
    errors = []
    
    if not path.exists():
        errors.append("文件不存在")
        return False, errors
    
    if not path.is_file():
        errors.append("路径不是文件")
        return False, errors
    
    # 检查读权限
    # 使用os.access进行快速初步检查
    if not os.access(path, os.R_OK):
        errors.append("没有读取文件的权限")
    else:
        # 对通过初步检查的进行实际读取验证
        try:
            with path.open('rb') as f:
                f.read(1) # 尝试读取一个字节
        except PermissionError:
            errors.append("没有读取文件的权限")
        except Exception as e:
            errors.append(f"读取文件时发生错误: {e}")
    
    # 检查写权限
    if not os.access(path, os.W_OK):
        errors.append("没有写入文件的权限")
    else:
        # 对通过初步检查的进行实际写入验证
        try:
            with path.open('ab'):
                pass  # 尝试以追加模式打开
        except PermissionError:
            errors.append("没有写入文件的权限")
        except Exception as e:
            errors.append(f"测试文件写入权限时发生错误: {e}")
    
    return len(errors) == 0, errors

def check_path(path: Path) -> Tuple[bool, List[str]]:
    """检查路径可访问性"""
    if path.is_file():
        return check_file_path(path)
    elif path.is_dir():
        return check_directory_path(path)
    else:
        logging.warning(f"路径不存在或类型未知: {path}")
        return False, ["路径不存在或无法确定类型"]

# 用户输入处理
def get_user_input() -> Path:
    """获取用户输入的路径并进行验证"""
    while True:
        user_input = input("请输入路径: ").strip()
        
        if not user_input:
            print("输入不能为空,请重新输入。")
            logging.warning("用户输入了空路径")
            continue
        
        try:
            normalized_path = normalize_path(user_input)
        except Exception as e:
            logging.error(f"路径标准化失败: {e}")
            print(f"路径标准化失败: {e}")
            continue
        
        is_valid, errors = check_path(normalized_path)
        
        if is_valid:
            return normalized_path
        
        print("路径存在问题:")
        for error in errors:
            print(f"  - {error}")
        
        choice = input("是否继续使用此路径? (y/n): ").strip().lower()
        if choice == 'y':
            logging.warning(f"用户选择继续使用有问题的路径: {normalized_path}")
            return normalized_path
        else:
            print("请重新输入路径。")
Python类型检查实战:构建mypy静态防御体系 Python类型检查是提升代码健壮性与协作效率的基础工程实践,其核心原理在于通过静态分析在运行前捕获类型不匹配、属性访问错误等常见缺陷。技术价值体现在降低调试成本、强化IDE智能提示、支撑CI/CD自动化质量门禁,并显著减少NoneType和AttributeError类线上故障。典型应用场景覆盖中大型项目维护、跨团队API契约定义、异步与泛型开发,以及第三方库集成。本文聚焦Python类型检查、mypy配置与渐进式落地,提供可立即复用的分层防御工作流。 阅读详情

相关推荐

Python pathlib路径处理实战:从os.path到对象化路径管理

路径处理是Python文件操作的基础能力,本质是结构化数据的构建与校验,而非简单字符串拼接。传统os.path方案存在类型不可知、平台耦合、操作割裂等工程缺陷;pathlib通过Path对象范式,实现跨平台路径构造、安全存在性检查、链式方法调用与IDE智能提示,显著提升可读性、可维护性与调试效率。其深度集成Python 3.4+类型系统、f-string及现代生态(如pandas、FastAPI、aiofiles),已成为数据科学、Web后端与自动化脚本的标准路径处理方案。本文聚焦pathlib在conda

cqwf95925的博客 557

搜索文件的路径(4条命令)

which命令 which命令:显示(shell)命令的完整路径。 格式:which [options] [--] programname [...] 参数: 参数 作用 -n -n:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名; -p 与-n参数相同,但此处的包含了文件的路径; -w 指定输出时栏位的宽度; -V 显示版本信息。 例子:...

475

【模块化编程】Python文件路径检查、跳转模块

这篇【模块化编程】文章将详细介绍如何在Python中高效管理文件路径,包括路径检查与目录跳转的实用模块化实现。你将学习使用os和pathlib模块进行路径存在性验证、相对/绝对路径转换,以及跨平台安全的目录切换操作。文章包含可复用的代码片段,演示如何封装路径操作为独立函数,处理常见异常情况,并优化文件系统交互流程。无论是自动化脚本开发还是大型项目管理,这些技巧都能显著提升代码的健壮性和可维护性。

十二月的猫 1493

Python 在自动化运维时常用到的方法

内容展示了在自动化运维中常用的 Python 文件操作和目录管理方法。模块为操作系统交互提供了强大的工具集,结合文件读写操作,可以实现高效的自动化任务。

Persus & Xie 742

Linux Python 及Sudo Python Flask 导包小技巧

Linux Python 及Sudo Python 导包小技巧 问题:使用python执行脚本,写入日志文件无权限;提权使用sudo python找不到包。 (python36) [centos@host33 cnn_rnn]$ python flask_server_cleanup_main.py ........ /usr/local/noc_project/cnn_rnn /usr/local/noc_project Traceback (most recent call last): .

大模型与Agent智能体 861

从USB相机标定到Aruco码精准定位:基于aruco-ros的机器人视觉实践

本文详细介绍了基于aruco-ros的机器人视觉实践,从USB相机标定到Aruco码精准定位的全流程。通过实战案例和优化技巧,展示了Aruco码在机器人导航中的高精度位姿识别能力,帮助开发者快速实现毫米级视觉定位系统。

weixin_27310417的博客 487

FastAPI路径参数和数字验证:

路径参数item_id通过path附加验证机制。为路径参数声明相同类型的验证和元数据。title:为路径声明。

LOVEzhoushengjie的博客 29

速腾聚创激光雷达复现FAST-LIO

记录复现FAST-LIO算法的过程和,代码梳理和理解。FAST-LIO的简化版、注释版。速腾激光雷达

abanchao的博客 2933

Python判断路径合法性

【代码】Python判断路径合法性。

清风韶华的博客 2378

三角洲自动购买工具 —— 基于 OCR 的价格识别与自动点击

通过的方式,我们可以轻松实现自动化的“价格监控 + 自动点击”工具。它的优势在于通用性—— 只要能截屏识别价格,就能用于任何程序,不依赖特定 API。未来可以扩展的功能:自动保存配置到文件。支持多价格区域检测。增加快捷键启停功能。

qq_62975494的博客 2421

DRM驱动代码分析:展频 跳频

DRM驱动代码分析:展频 跳频

yuuu_cheer的博客 2680

python实用30个小技巧

1.原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: In [1]: x,y = 10 ,20 In [2]: print(x,y) 10 20 In [3]: x, y = y, x In [4]: print(x,y) 20 10 赋值的右侧形成了一个新的元组,左侧立即解析(unpack)那个(未被引用的)元组到变量...

java276582434的博客 9395

基于STM32的智能家用节能控制系统设计

该系统可以实时监测家庭的环境参数,如温湿度、光照强度和人体存在情况,根据设定的节能策略自动控制灯光、空调、风扇等家电设备,从而降低不必要的能源消耗。该基于STM32的智能家用节能控制系统通过多种传感器实现了对家庭环境的实时监测,并结合继电器控制模块实现了对家电设备的自动化控制,从而达到节能减排的效果。根据传感器获取的数据,判断是否需要开启或关闭家电设备,从而降低不必要的能源消耗,达到节能的目的。:继电器的控制引脚连接至STM32的GPIO引脚(如PB0、PB1),用于控制灯光、风扇、空调等家电设备的开关。

stm32d1219的博客 1247

编程小技巧:在Shell、Python和R语言中批量检查文件是否存在,避免潜在错误

本文介绍了在三种编程语言中检查文件或目录是否存在的便捷方式,且均封装成了函数,拷贝以后可以直接使用。本文同步发表于编程小技巧:在Shell、Python和R语言中批量检查文件是否存在,避免潜在错误。

水木的编程生涯 1040

网络可视媒体的智能计算-胡事民

本文为胡事民教授在山大做报告的笔记,现场见下图: 可视媒体是承载视觉信息的媒体类型,如图像、视频等,它具有网络化、海量和无序涌现等特征。 可视媒体计算的研究意义 可视媒体作为一种信息承载的介质,是用来表达语义信息的。那么就有一种介质与信息之间相互转化的问题。转化方向正反两种,举个栗子说明一下: 1. 可视媒体→→\rightarrow语义信息:比如看到画面,理解其中发生的事件、各主题之...

gdymind的博客 2451

UE5实现物体高亮描边效果(含UE相关源码浅析)

UE5实现物体高亮描边效果

专注GIS开发 7335

查看Python安装路径以及安装包路径小技巧

 G:\code\moniter>python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())" C:\Python27\Lib\site-packages G:\code\moniter>python -c "import os; print os.__file__" C:\Py

swartz_lubel的专栏 2953

SAP成本核算的核心逻辑

SAP成本核算采用"计划-归集-分析"闭环管理,以CO模块为核心,集成PP、MM等模块。核算前需配置标准成本控制范围、成本中心等主数据。标准成本通过BOM和工艺路线计算(CK11N),采购和生产过程记录实际成本差异。制造费用通过成本中心归集,作业成本按实际耗用量分配。完工产品按标准成本入库,月末通过KO88结算工单差异,物料分类账(CKMLCP)还原实际成本。整个流程实现FI与CO数据同步,确保账务一致。关键事务码包括CK11N(成本估算)、MIGO(物料移动)、CO11N(报工)等。

金牌架构师 541

python 查找路径里最后一个斜杠_Python小技巧:3个处理文件路径的简单方法!

几乎所有计算机在文件夹名称间使用的都是正斜杠,但微软Windows使用的是却反斜杠, 这不免造成了编程的一个小烦恼。Python资源共享群:484031800Windows filenames:C:some_foldersome_file.txtMost other operationg systems:/some_folder/some_file.txt这是1980年代早期,计算机史上的一个意外...

weixin_34945060的博客 1873

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python30个小技巧

转载:https://www.pythontab.com/html/2018/pythonjichu_0917/1351.html 编程中用到可以简化代码的30个小技巧,当然python的技巧远不止这些,让我们在学习的途中去发现宝藏吧。 推荐一个python网站取了一定有惊喜python中文开发者社区门户。 原地交换两个数字 x, y =10, 20 print(x, y) y, x = x, y print(x,y) 10 20 20 10 链状比较操作符 n = 10 print(1 &l

奔跑的蜗牛的博客 416

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

python的一些小技巧

1、使用分段执行法: 在代码块前加入#%%,右下角提示框选择Use scientific mode 2、查看当前程序的执行路径: import os print(os.getcwd()) 3、输出虚拟环境的依赖: pip freeze > requirements.txt 4、按10个空格输出某个字符串,负号代表左对齐,不加负号代表右对齐。以及输出某小数的2位小数,逗号表示千位符: print('this is a %d test for %d dollar is %s very m

m0_47210867的博客 211

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Typora使用处理的一些小技巧

本文介绍了使用Python脚本处理Typora中的Markdown文件的两个实用技巧。首先,文章详细说明了如何合并指定路径下的所有.md文件,包括环境要求、文件夹和文件的读写权限、文件编码等,并提供了相应的Python代码示例。其次,文章探讨了如何提取Markdown文件中的LaTeX公式并将其转换为图片,涵盖了所需的Python、LaTeX和ImageMagick环境设置,并给出了相应的代码实现。通过这两个技巧,用户可以更高效地管理和处理Markdown文件。

qq_60618712的博客 1090

pythonencoding etf-8_etf iopv python 代码30个Python常用小技巧

1、原地交换两个数字x,y=10,20print(x,y)y,x=x,yprint(x,y)10 2020 102、链状比较操作符n=10print(1print(1>n<=9)TrueFalse3、使用三元操作符来实现条件赋值[表达式为真的返回值] if [表达式] else [表达式为假的返回值]y=20x=9if(y==10)el...

weixin_39720807的博客 806

python3 小技巧记录

python 小技巧记录我发现1、str转bool方法2、python判断文件和文件夹是否存在、创建文件夹3、文件操作4、python字典遍历的几种方法4.1、遍历key值4.2、遍历value值4.3、遍历字典项4.4、遍历字典健值 我发现 好多有用的小技巧其实都不难,但是每次用的时候,我都要去百度,主要是懒得去记,刚好突然有个想法,总结一些实用小技巧,归类整理,免得到处百度,浪费不必要的时间:...

波风水门 747

Python的一些小技巧小知识

如何判断操作系统类型 import sys print sys.platform print sys.version 显示和修改python的Module搜索路径 >>> import sys >>> print sys.path ['', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-l

学习记录 860
上一篇: Python 小技巧:路径标准化函数
下一篇: Python EXCEL:dataframe处理案例:配对、删除列、重命名和组合
偷心伊普西隆
博客等级 码龄7年 511粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值