Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python os从目录中删除除.py文件以外的任何文件_Python_Operating System - Fatal编程技术网

Python os从目录中删除除.py文件以外的任何文件

Python os从目录中删除除.py文件以外的任何文件,python,operating-system,Python,Operating System,我正在试图找到一种方法来编写脚本,如果目录中存在任何CSV文件,请将其删除。如何在不指定特定文件名的情况下编写此文件 如果存在文件扩展名为.py的文件,是否可以使用os将其删除 import os if os.path.exists("AHU4_data_CSV.csv"): os.remove("AHU4_data_CSV.csv") else: print("The file does not exist") 这应该行得通-只需列出目录中的所有文件/文件夹,如果它们没有以.py

我正在试图找到一种方法来编写脚本,如果目录中存在任何CSV文件,请将其删除。如何在不指定特定文件名的情况下编写此文件

如果存在文件扩展名为
.py
的文件,是否可以使用
os
将其删除

import os

if os.path.exists("AHU4_data_CSV.csv"):
  os.remove("AHU4_data_CSV.csv")

else:
  print("The file does not exist")

这应该行得通-只需列出目录中的所有文件/文件夹,如果它们没有以.py结尾,请将其删除

for filename in os.listdir('.'):
    if not filename.endswith('.py'):
        if os.path.isfile(filename):
            os.remove(filename)
        else:
            os.rmdir(filename)

这应该行得通-只需列出目录中的所有文件/文件夹,如果它们没有以.py结尾,请将其删除

for filename in os.listdir('.'):
    if not filename.endswith('.py'):
        if os.path.isfile(filename):
            os.remove(filename)
        else:
            os.rmdir(filename)
你可以这样做

import os
mydir='path/to/dir/with/files'

for file in os.listdir(mydir):
    if file.endswith('.csv'):
        os.remove(os.path.join(mydir,file))
你可以这样做

import os
mydir='path/to/dir/with/files'

for file in os.listdir(mydir):
    if file.endswith('.csv'):
        os.remove(os.path.join(mydir,file))

您可以这样做:

import os

root = "e:/"

for root, dirs, files in os.walk(root):
    for file in files:
        if file.endswith('.csv'):
            print("removed: " + os.path.join(root, file) )
            os.remove( os.path.join(root, file) )

它将从E中删除您的
E
目录所有CSV文件,包括子文件夹的
CSV
文件。

您可以执行以下操作:

import os

root = "e:/"

for root, dirs, files in os.walk(root):
    for file in files:
        if file.endswith('.csv'):
            print("removed: " + os.path.join(root, file) )
            os.remove( os.path.join(root, file) )

它将删除您的
E
目录中的所有CSV文件,包括E中子文件夹的
CSV
文件。

遍历每个文件,查看是否有
endswith('.CSV')
.lower().endswith(.CSV)如果是.CSVwalk遍历每个文件,请查看是否有
endswith('.CSV')
.lower().endswith(.CSV')在.CSVHello的情况下,除了.py之外,还可以合并一个
语句来包含.csv和.png文件吗?类似于:
如果不是filename.endswith('.py')或不是filename.endswith('.csv')或不是filename.endswith('.png'):
那里(
如果不是(其中任何一个)
如果不是(这一个)和不是(这一个)更好
在逻辑上是等效的。但是,是的,这很简单。啊,好吧,那么
如果不是filename.endswith('.py','.csv',png'):
也可以工作吗?谢谢你的帮助否,因为
endswith()
函数不是那样工作的-但是
如果不是(filename.endswith('.py'))或filename.endswith('.csv'))或者filename.endswith('.png'):
应该有效您好,除了.py之外,还可以使用
语句来包含.csv和.png文件吗?比如:
如果不是filename.endswith('.py'),或者不是filename.endswith('.csv'),或者不是filename.endswith('.png')):
比那里的
工作得更好(
如果不是(其中任何一个)
如果不是(这个)和不是(这个)和不是(这个)
在逻辑上是等价的。但是,是的,这很简单。啊,好吧,那么
如果不是filename.endswith('.py',.csv',png')):
也可以吗?谢谢您的帮助否,因为
endswith()
函数不是那样工作的-但是
如果不是(filename.endswith('.py')、filename.endswith('.csv')或filename.endswith('.png'):
应该可以工作