【问题标题】:pyspark - how to delete a local directory if it already exists [duplicate]pyspark - 如果本地目录已经存在,如何删除它[重复]
【发布时间】:2018-03-15 08:17:34
【问题描述】:

如果本地目录已经存在,我希望删除它。以下是我的代码:

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)

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

【问题讨论】:

    标签: python apache-spark pyspark


    【解决方案1】:

    改用 os.rmdir()。

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

    【讨论】:

    • 它没有用。 os.rmdir("file:///home/cloudera/Downloads/store_perday_rev") 返回“没有这样的文件或目录”
    【解决方案2】:

    您可以尝试这些选项。

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

    我可以删除该文件夹。如果您在此文件夹中有数据,那么您需要调用。

    shutil.rmtree()

    【讨论】:

      【解决方案3】:

      您是要删除目录还是文件?

      如果您想删除目录,请参考以下链接:

      How do I remove/delete a folder that is not empty with Python?

      另请参阅 python 文档: https://docs.python.org/2/library/os.html

      【讨论】:

        猜你喜欢
        • 2011-01-18
        • 2020-05-31
        • 1970-01-01
        • 1970-01-01
        • 2016-05-03
        • 1970-01-01
        • 2021-09-29
        • 2015-01-29
        • 2014-03-02
        相关资源
        最近更新 更多