大家帮我看看这个功能该怎么实现

2020-04-06 01:50:21 +08:00
 craiiz

如上图所示

我想实现:双击 command.command 文件自动运行 manage.py,需要在 command 文件里怎么写?

当前情况:在 command 文件里只写了 python manage.py

分析:需要 command 文件运行的时候能够获取当前正在运行的 command 文件的路径;类似于 python 的 sys.path[0] 或者 os.path.basename[file]的效果。 补充之后的 command 文件内容应该类似于:

"""

cd 当前 command 文件路径;
python manage.py

"""

但是目前 google 许久,没有找到类似的终端命令 求大神相助。。。。。。

2413 次点击
所在节点    Python
10 条回复
Trim21
2020-04-06 02:01:00 +08:00
command 应该是由 shell 来解释的吧?应该看看 zsh 的语法
Trim21
2020-04-06 02:05:42 +08:00
搜了下,zsh 里面大概是这样
python "${0:a:h}/main.py"
craiiz
2020-04-06 02:11:05 +08:00
感谢 @Trim21
已解决,需要在前面加上一句:cd $(dirname $BASH_SOURCE)
also24
2020-04-06 02:12:47 +08:00
没太理解楼主的目的,直接使用:

python ./manage.py

会有什么问题出现嘛?
craiiz
2020-04-06 02:15:17 +08:00
微博的图那么快就挂了???
craiiz
2020-04-06 02:18:42 +08:00
@also24 没想到微博的图那么快就挂了。但这样会不能运行,会提示:
python: can't open file './manage.py': [Errno 2] No such file or directory
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
craiiz
2020-04-06 02:22:28 +08:00
微博图挂了,为保证主题质量,之后有人遇到同样问题还可解决。现重述问题:


场景:command 。command 和 manage 。py 在同一个文件夹

我想实现:双击 command 。command 文件自动运行 manage 。py,需要在 command 文件里怎么写?

当前情况:在 command 文件里只写了 python manage 。py 。

分析:需要 command 文件运行的时候能够获取当前正在运行的 command 文件的路径;类似于 python 的 sys 。path[0] 或者 os 。path 。basename[file]的效果。 补充之后的 command 文件内容应该类似于:

"""

cd 当前 command 文件路径;
python manage 。py

"""

但是目前 google 许久,没有找到类似的终端命令 求大神相助。。。。。。
Trim21
2020-04-06 02:28:20 +08:00
@also24 #4 大概因为 pwd 不是这个文件夹,所以找不到这个 manage.py
oott123
2020-04-06 09:21:55 +08:00
先写一个 bash 内容是 cd xx; python manager.py 再在 command 里指向这个 bash

当然你可以查查 command 有没有改 working directory 的功能,应该也有
craiiz
2020-05-15 11:07:03 +08:00
已解决,谢谢各位大神

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/659728

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX