pyspark - 如果本地目录已存在,如何删除它

时间:2017-10-04 03:03:19

标签: python apache-spark pyspark

我希望删除本地目录(如果已存在)。下面是我的代码:

import sys
import os
from pyspark import SparkContext
from pyspark import SparkConf

conf=SparkConf().setAppName('pyspark')
sc=SparkContext(conf=conf)

data=sc.textFile('file:///home/cloudera/Downloads/SAN_SALES_EXTRACT_TRANS_LEVEL_D0906.txt')
datamap=data.map(lambda x: ((str(x.split(',')[1]).strip(),int(x.split(",")[0])),float(x.split(",")[10])))
datagrouped=datamap.reduceByKey(lambda x,y: x+y)
if (os.path.exists("file:///home/cloudera/Downloads/store_perday_rev")):
        os.remove("file:///home/cloudera/Downloads/store_perday_rev")
else:
        datagrouped.sortByKey().saveAsTextFile("file:///home/cloudera/Downloads/store_perday_rev")
#for i in datagrouped.sortByKey().take(20):
#       print(i)

它不会删除目录。我做错了什么?

3 个答案:

答案 0 :(得分:0)

尝试使用os.rmdir()。

os.remove()仅适用于文件路径,不适用于目录。

答案 1 :(得分:0)

您可以尝试这些选项。

import os
os.rmdir("C:/test/delete/pydelete")

我可以删除该文件夹。如果您在此文件夹中有数据,则需要拨打电话。

shutil.rmtree()

enter image description here

答案 2 :(得分:0)

您试图删除目录或文件吗?

如果您要删除目录,请参阅以下链接:

https://stackoverflow.com/questions/303200/how-do-i-remove-delete-a-folder-that-is-not-empty-with-python

另请参阅python docs:

https://docs.python.org/2/library/os.html