如何获取其中的目录路径的Bash脚本位于,里面那个脚本?
例如,假设我想使用Bash脚本作为另一个应用程序的启动器.我想将工作目录更改为Bash脚本所在的目录,因此我可以对该目录中的文件进行操作,如下所示:
$ ./application
在Python中,我可以使用哪些命令来查找:
我想检测模块是否已更改.现在,使用inotify很简单,您只需要知道要从中获取通知的目录.
如何在python中检索模块的路径?
我想获取当前文件的目录路径.
我试过了:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
Run Code Online (Sandbox Code Playgroud)
但是如何检索目录的路径?例如:
'C:\\python27\\'
Run Code Online (Sandbox Code Playgroud) 最近在一次代码审查中,一位同事声称该[[ ]]构造比[ ]在类似的构造中更受欢迎
if [ "`id -nu`" = "$someuser" ] ; then
echo "I love you madly, $someuser"
fi
Run Code Online (Sandbox Code Playgroud)
他无法提供理由.有吗?
请考虑以下Python代码:
import os
print os.getcwd()
Run Code Online (Sandbox Code Playgroud)
我os.getcwd()用来获取脚本文件的目录位置.当我从命令行运行脚本时它给了我正确的路径,而当我从Django视图中的代码运行的脚本运行它时,它会打印出来/.
如何从Django视图运行的脚本中获取脚本的路径?
更新:
总结到目前为止的答案 - os.getcwd()并且os.path.abspath()都给出当前工作目录,该目录可能是也可能不是脚本所在的目录.在我的网站主机设置中只提供没有路径的文件名.__file__
在Python中没有任何方法(总是)能够接收脚本所在的路径吗?
如何获取我正在运行的Python脚本的路径?我正在做dirname(sys.argv[0]),但是在Mac上我只获取文件名 - 而不是像我在Windows上那样的完整路径.
无论我的应用程序从何处启动,我都想打开与我的脚本文件相关的文件.
我正在尝试获取当前正在运行的Python脚本的名称.
例如,我有一个调用的脚本foo.py,我想在其中执行类似的操作:
print Scriptname
Run Code Online (Sandbox Code Playgroud)
得到:foo.py.
有人能告诉我如何以跨平台的方式在Python中获取路径的父目录.例如
C:\Program Files ---> C:\
Run Code Online (Sandbox Code Playgroud)
和
C:\ ---> C:\
Run Code Online (Sandbox Code Playgroud)
如果目录没有父目录,则返回目录本身.问题可能看似简单,但我无法通过谷歌进行挖掘.
我想看看在python中确定当前脚本目录的最佳方法是什么?
我发现,由于调用python代码的方法很多,很难找到一个好的解决方案.
这是一些问题:
__file__如果脚本执行时未定义exec,execfile__module__ 仅在模块中定义用例:
./myfile.pypython myfile.py./somedir/myfile.pypython somedir/myfile.pyexecfile('myfile.py') (来自另一个脚本,可以位于另一个目录中,并且可以有另一个当前目录.我知道没有完美的解决方案,但我正在寻找解决大多数情况的最佳方法.
最常用的方法是os.path.dirname(os.path.abspath(__file__)),如果你从另一个脚本执行脚本,这实际上不起作用exec().
任何使用当前目录的解决方案都将失败,根据调用脚本的方式或者可以在运行的脚本中更改它,可能会有所不同.
python ×8
directory ×4
bash ×2
basename ×1
dirname ×1
django-views ×1
getcwd ×1
if-statement ×1
inotify ×1
module ×1
path ×1
pythonpath ×1
scripting ×1
syntax ×1