作为 argparse 参数的目录路径

2024-02-04

我想接受目录路径作为用户输入add_argument() of ArgumentParser().

到目前为止,我已经写了这个:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('path', option = os.chdir(input("paste here path to biog.txt file:")), help= 'paste path to biog.txt file')

这个问题的理想解决方案是什么?


可以确保路径是一个有效的目录,如下所示:

import argparse, os

def dir_path(string):
    if os.path.isdir(string):
        return string
    else:
        raise NotADirectoryError(string)

parser = argparse.ArgumentParser()
parser.add_argument('--path', type=dir_path)

# ...

可以使用以下方式检查文件os.path.isfile()相反,或两者中的任何一个使用os.path.exists().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

作为 argparse 参数的目录路径 的相关文章

随机推荐

  • 在编译时计算小整数的阶乘

    我刚刚实现 再次 一个递归模板 用于在编译时计算整数的阶乘 谁会想到有一天我实际上会需要它 不过 我没有自己动手 而是去了Boost http www boost org 寻找答案 然而 特殊数学中的阶乘函数明确禁止将其与整数类型一起使用
  • 在Java BufferedImage中绘制完全透明的“白色”

    这可能听起来有点奇怪 但请耐心听一下 那里is一个原因 我正在尝试在灰色背景上的文本周围生成白色发光 为了生成发光 我创建了一个比文本大的新 BufferedImage 然后将白色文本绘制到图像的画布上 并通过卷积运算 http docs
  • 如何在Python中将csv转换为json?

    我对编程非常陌生 过去 3 4 周一直在学习 python 这是给出的作业之一 Input A B C D 1 2 3 4 5 6 7 8 Output A 1 B 2 C 3 D 4 A 5 B 6 C 7 D 8 我一直在尝试将代码设置
  • stat_smooth 和 geom_ribbon 之间的交互不良

    我正在回答这个问题 https stackoverflow com questions 64574595 geom density returns plot without considering real values 这需要绘制平滑区域
  • 如何在Python中基于if语句保存一个文档?

    我正在尝试根据 if 语句保存文档 我在这里创建单选按钮 info Option 1 Option 2 Option 3 vars for idx i in enumerate info var IntVar value 0 vars ap
  • NoClassDefFoundError:配置属性源

    从昨天开始 在全新安装后 我们的 spring boot 项目在没有更改 Maven 文件 库或其他配置的情况下出现了问题 我们确实尝试将 SpringFrameWork 和 Spring boot 的 pom 版本更新到 1 5 4 Re
  • 整数数组作为字典的键

    我希望拥有使用整数数组作为键的字典 如果整数数组具有相同的值 甚至不同的对象实例 它们将被视为相同的键 我该怎么做呢 以下代码不起作用b是不同的对象实例 int a new int 1 2 3 int b new int 1 2 3 Dic
  • 如何获取所有 Spark 配置以及默认配置?

    我正在开发一个项目 需要收集所有 Spark 配置 问题是 如果没有明确设置参数 我将需要默认值 有没有办法获取所有配置 包括所有默认值 我尝试过 sc getConf getAll 但通过这种方式 我没有得到默认值 SparkListen
  • Java 卡连接到模拟器失败

    我正在尝试测试 Java Card 小程序以建立与 cref 等模拟器的连接 try sckClient new Socket localhost 9025 InputStream is sckClient getInputStream O
  • 如何使用 PHP、CURL 抓取 javascript 网站 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 PHP 应用程序内从另一个站点呈现 javascript https stackoverflow com questions 5332161 how do i render javascrip
  • flutter:地理定位器不起作用,请确保清单中至少定义了 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION

    我正在尝试使用地理定位器 并且我添加了两者
  • Java中的中断线程

    我想优雅地关闭线程 我在网上看到了很多代码并在这里查询 我认为有两种关闭方法 使用布尔标志 只要改变一个标志 我们就可以在 run 方法中破坏代码 使用中断方法 我的问题是 为什么要避免使用布尔标志来正常关闭线程 当我运行示例程序时 它运行
  • 链接静态方法

    这可能没有解决方案 或者我可能找不到解决方案 但这里是 注意 我知道下面的代码是不正确的 我只是想展示我到底是什么想去完成 我想做一些事情 public class ActionBarHandler public static Action
  • Rails - 如何获取访问者的IP地址?

    我需要将访问者的 IP 地址存储到我们的数据库中 这是我尝试执行此操作的方法 ip request remote ip ip request env REMOTE ADDR 但在这两种情况下 ip变量存储值127 0 0 1 即使我将应用程
  • C:对不完整类型的数组添加下标合法吗?

    我在标准中找不到相关位 但 gcc 和 clang 允许这样做 所以我想我想知道它是编译器扩展还是语言的一部分 如果可以的话请提供一个链接 这可能会因以下情况而出现 extern char arr func arr 7 No error 后
  • 作为 IntelliJ 插件的“查找用法”功能

    我试图在 IntelliJ IDEA 中找到一种方法来查找特定项目中一些库方法调用和类的所有用法 目标是编译引用这些特定方法或类的类列表 我该怎么办呢 我可以看到有一个MethodReferencesSearch看起来它可能会有所帮助 但是
  • effective-pom是超级pom和应用程序POM之间的合并

    我尝试使用 mvn help effective pom 命令在示例应用程序上生成有效的 pom http books sonatype com mvnref book reference pom relationships sect po
  • 在打字稿中创建通用的“可克隆”界面

    考虑一个打字稿接口 它描述了对象具有的约束 clone 返回相同类型的对象 或者可能是可分配给其自己类型的对象 的方法 我想象的一个例子 Naive definition interface Cloneable clone gt Clona
  • 将 XML 转换为 XSLT 中的转义文本

    如何使用 XSLT 将以下 XML 转换为转义文本 Source
  • 作为 argparse 参数的目录路径

    我想接受目录路径作为用户输入add argument of ArgumentParser 到目前为止 我已经写了这个 import argparse parser argparse ArgumentParser parser add arg