在linux中用python3通过os和subprocess运行hadoop上传命令找不到文件

我在几台linux虚拟机上打好了hadoop平台,这时直接用linux的终端输入命令:

 hadoop fs -put Desktop/test.txt /

是可以把本地桌面的text.txt文件上传到hadoop的HDFS中的。
但是通过python脚本,导入os库或者subprocess库,通过

 os.system("hadoop fs -put Desktop/test.txt /")

或者

 subprocess.call("hadoop fs -put Desktop/test.txt /",shell = True)

就会报错:No such file or directory

这是怎么回事,求助啊!
通过python脚本上传本地文件到HDFS应该怎么样最快最好呢?

1个回答

这个用完整路径,python执行的时候,当前路径不在你的Desktop这一个目录了

 /home/xxx/Desktop/test.txt
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问