pyspark - 如果本地目录已经存在,如何删除它[重复]

Posted

技术标签:

【中文标题】pyspark - 如果本地目录已经存在,如何删除它[重复]【英文标题】:pyspark - how to delete a local directory if it already exists [duplicate] 【发布时间】: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)

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于pyspark - 如果本地目录已经存在,如何删除它[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从本地目录中读取,kmeans 流式传输 pyspark

pyspark将列添加到列表中已经不存在的数据框

如何使用 PySpark 在桌面本地文件夹的目录中执行文件(pdf、docs、txt、xls)的并行处理?

SQL Server 2008 R2本地订阅不成功,如何删除?

我正在创建一个最喜欢的 react 列表。我已经能够添加、获取和删除本地存储中的项目。我如何让心形按钮持续存在

git如何删除远端不存在的本地分支?