用于处理路径别名的python包。

pathaliases的Python项目详细描述


路径别名

Build Status

用于处理路径别名的python包。

路径别名可以直接从yaml文件加载:

dir/:subdir/:alias:SUBDIRsome/other/dir/:alias:SUBDIR_2file.txt:{ alias:[FILE,ALTERNATE_ALIAS]}dir2/:extra_keys:are ignoredalias:2ndDirsome/very/long/path/:into/a/deep/file/hierarchy/:can/be/addressed/with:{ alias:A_PATH_INDEPENDANT_ALIAS}

用解决这个问题 pathaliases.resolve_yaml_to_path_strings("aliases.yml")返回 字典:

{"SUBDIR":"dir/subdir/","SUBDIR_2":"dir/subdir/some/other/dir/""FILE":"file.txt","ALTERNATE_ALIAS":"file.txt","2ndDir":"dir2/","A_PATH_INDEPENDENT_ALIAS":"some/very/long/path/into/a/deep/file/hierarchy/can/be/addressed/with"}

可用于使代码基独立于路径:

# Beforesubdir="dir/subdir/"subdir_2=os.path.join(subdir,subdir_2)# After: *where* the dirs are is configurablealiases=pathaliases.resolve_yaml_to_path_strings("aliases.yml")subdir=aliases["SUBDIR"]subdir_2=aliases["SUBDIR_2"]

路径别名设计为:

  • simple-它只是连接所有指向别名的键。
  • 可读-开发人员和管理员应该能够轻松编辑路径。
  • standard-它使用标准文件格式和约定,使其 易于移植到其他语言。

安装

复制回购:

$ git clone https://github.com/adamkewley/pathaliases.git
$ python setup.py install

用法

直接从yaml文件解析别名:

importpathaliasesaliases=pathaliases.resolve_yaml_to_path_strings("aliases.yml")print(aliases["SUBDIR"])# echoes: "dir/subdir/"

从dict中解析别名:

importpathaliasesaliases_dict={"dir/":{"subdir/":{"alias":"SUBDIR"}}}aliases=pathaliases.resolve_path_strings(aliases_dict)print(aliases["SUBDIR"])# echoes: "dir/subdir/"

替代变量

别名文件也可以包含变量,模板为${VARNAME}

foo/:${var}/:alias:${key}

pathaliases允许您在计算 路径:

env={"var":"bar","key":"some_alias"}aliases=pathaliases.resolve_yaml_to_path_strings("aliases.yml",env=env)aliases=={"some_alias":"foo/bar/",}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java迷宫解算器在死胡同中陷入循环   java JPA在一个查询中检索2个列表   java正则表达式匹配文档中两个字符串之间的所有字符   java更改JTable标题高度   安卓忽略调试库中的java代码   java使用ScheduledExecutorService延迟Spring WebClient调用不会等待响应   如何使用Java将包含JSON对象的字符串转换为实际的JSON   sqlite数据库连接:java。Lang.ClassNotFoundException:org。sqlite。JDBC   在MySQL中存储表情符号的java获取错误字符串值错误   当发送包含超过一定大小字节数据的对象时,安卓 Java StreamCorruptedException   Java游戏旋转图像和轴   java IntelliJ Idea:无法解析实体类的列   Android中带有editText的java AlertDialog   map only和mapreduce应用程序之间的java差异   如何在Kotlin编写的接口中使用默认方法的Java8特性   java CPU时间百分比算法问题   java如何在WEBINF文件夹中使用带有JAR的taglibs JSTL/core   有没有办法在Java中找到JPanel和/或JFrame的长度和宽度?