Python中文
首页
教程
问答
标签
搜索
登录
注册
Python Click脚本访问自己的模块目录需要什么?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>如何使用主目录中任意位置的Python Click脚本,并让脚本访问模块目录中的configs?在</p> <p>假设我有一个名为<code>ClickDir</code>的小脚本,它位于我的主目录<code>~/bin</code>。下面是一个简单脚本的树:</p> <pre><code>. ├── ClickDir │ ├── config │ │ └── helloworld_input.txt │ ├── __init__.py │ └── scripts │ ├── clickscript.py │ └── __init__.py ├── HelloWorld_output.txt └── setup.py </code></pre> <p>这是一个非常无用的剧本。它读取<code>config</code>中的一个文件,并将此文本与您选择的输入文本文件连接起来。最后,它将<code>HelloWorld_output.txt</code>写入与输入文件相同的目录中</p> <p><code>Usage: ClickDir [OPTIONS] INPUT</code></p> <p>我可以从任何地方调用Click函数,但是Click也会相对于<code>config/helloworld_input.txt</code>的目录查找。因此,脚本无法找到配置输入</p> ^{pr2}$ <p>我需要在Linux和Windows中都应用此功能(Anaconda on Win 10)</p> <p>更新:</p> <pre><code>import click import os dir_path = os.path.dirname(os.path.realpath("config/helloworld_input")) #@cli.command() @click.command() @click.argument('input', type=click.File('rb')) @click.option('--saveas', default='HelloWorld.txt', type=click.File('wb')) def inout(input, saveas): with open(dir_path + "/helloworld_input") as conf: print(conf.read()) while True: chunk = input.read(1024) if not chunk: break saveas.write(chunk) </code></pre> <p>我的脚本位于: <code>/home/xtian/Documents.x/Projects/CliTools.d/ClickDir/scripts</code></p> <p>我备份了几个目录,并从项目中运行脚本,但不幸的是,下面描述的解决方案只是从调用目录调用--与之前相同: <code>FileNotFoundError: [Errno 2] No such file or directory: '/home/xtian/Documents.x/Projects/config/helloworld_input'</code></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用<code>__file__</code>伪变量来查找脚本所在的目录。在</p> <p><code>dir_path = os.path.dirname(os.path.realpath(__file__))</code></p> <p>然后您可以使用<code>os.path.join</code>组合数据文件的完整路径</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何用if条件捕获函数返回值
9 回答
如何用if语句判断列表中是否存在该索引?
7 回答
如何用if语句向量化numpy数组中的最大值?
9 回答
如何用IF语句有条件地保存零碎的结果?
7 回答
如何用if语句测试异常对象?
8 回答
如何用IF语句编写二元函数
1 回答
如何用igraph在python中创建顶点权重的图?
6 回答
如何用ijson和python解析json
3 回答
如何用iloc求子矩阵
10 回答
如何用Imagemagick或PIL绘制高质量的图像笔划(边框)?
10 回答
如何用importlib在python中动态导入模块?
1 回答
如何用import语句重写python内置函数?
4 回答
如何用imshow混合裁剪的强度并显示正确的混合强度?
9 回答
如何用in dictionary解析havin dictionary中的json文件
2 回答
如何用in-Django URL替换%20
7 回答
如何用in\op正确构造查询
9 回答
如何用inbuild对象替换文件
4 回答
如何用inheritan类实现flask restful
2 回答
如何用intersphinx正确地编写对外部文档的交叉引用?
2 回答
如何用int修改LpVariable?
1 回答