2016-08-04 92 views
0

在Python中这可能吗?我正在研究Linux,所以我想知道是否有一种方法可以在调用脚本时使用bash命令(类似于pwd)。如何将当前目录作为参数传递给脚本?

+1

你为什么要这样?您可以在脚本中访问它。 '进口操作系统; os.getcwd()' – DeepSpace

+0

当然,您可以将bash命令的输出传递给可从'sys.stdin'读取的脚本。在你的shell中试试这个:'pwd | python -c“import sys; print(sys.stdin.read()+'Hello,bash')”'甚至是'pwd | python -c“print(input())”'但是你应该坚持'os'和'subprocess',除非你想让你的脚本可以管或重定向到。 –

回答

4

为了得到当前工作目录,你可以使用:

import os 
os.getcwd() 

如果你想运行的bash命令,@DeepSpace指出,subprocess最好os.system,语法是这样的:

import subprocess 
subprocess.call("pwd") 

os.system虽然仍然有用,但你可以做这样的事情:

import os 
os.system("pwd") 
+2

'os.system'已弃用。建议使用'subprocess'模块。 – DeepSpace

+0

@DeepSpace好点,编辑回答 –

3

是的。你可以使用os.curdir,加上os.path.abspath

>>> import os 
>>> os.path.abspath(os.path.curdir) 
'/home/msvalkon' 
+0

调用'os.getcwd()'更容易。 – DeepSpace

+0

当然,但它可能并不总是提供正确的值。我相信'os.getcwd()'会使用您的环境中的'$ PWD',这可能是也可能不是正确的。通常当然是。 – msvalkon

相关问题