是否可以使用DJango运行ubuntu终端命令

时间:2016-09-01 18:59:09

标签: python django hadoop hbase hdfs

我正在使用DJango设计一个简单的网站,我的数据库是HBase。在某些部分我需要在HDFS上保存一些文件,例如视频文件,并拥有它的URI。但我的问题是我找不到任何通过DJango访问HDFS的API所以我决定使用ubuntu terminal命令在HDFS上传和下载数据。现在我想知道有没有办法使用Django或任何其他方式通过Django访问HDFS API来运行终端命令?

2 个答案:

答案 0 :(得分:0)

让django调用下面的子进程。命令中的每个字符串都应该是列表中的字符串。

import subprocess
subprocess.call(["ls", "-l"])

答案 1 :(得分:0)

您不需要搜索Django实现的库,Django是用python编写的,而python是为它提供库。

另一种解决方案

import subprocess
subprocess.Popen(['python', 'manage.py', 'runserver'])

你也可以使用subprocess.Popen来执行shell命令。 这里描述了子进程Popen和调用之间的区别以及如何使用它们What's the difference between subprocess Popen and call (how can I use them)?