Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 对文件夹中的所有文件进行多次迭代,每次运行时选择x%的文件,并返回唯一选择的文件_Python_Loops_Random_Iteration - Fatal编程技术网

Python 对文件夹中的所有文件进行多次迭代,每次运行时选择x%的文件,并返回唯一选择的文件

Python 对文件夹中的所有文件进行多次迭代,每次运行时选择x%的文件,并返回唯一选择的文件,python,loops,random,iteration,Python,Loops,Random,Iteration,假设您有一个包含100个文件的文件夹,并希望在这100个文件上迭代5次,每次在一个单独的.csv文件中返回18个唯一的文件。PythonicPython3.6x最适合的方式是什么?保存在.csv文件中的每次运行的文件名必须与每次运行的文件名唯一不同 随机输入 导入操作系统 def生成文件: Enumerate是可选的,用于让您知道是哪个文件 你选择了 files=ListNumerateOS.listdiryourDirectory 随机文件 对于范围5中的i: 产量文件[:18] files=

假设您有一个包含100个文件的文件夹,并希望在这100个文件上迭代5次,每次在一个单独的.csv文件中返回18个唯一的文件。PythonicPython3.6x最适合的方式是什么?保存在.csv文件中的每次运行的文件名必须与每次运行的文件名唯一不同

随机输入 导入操作系统 def生成文件: Enumerate是可选的,用于让您知道是哪个文件 你选择了 files=ListNumerateOS.listdiryourDirectory 随机文件 对于范围5中的i: 产量文件[:18] files=文件[18:] def GetFilesList: 返回listgenerateFiles
你真的必须循环5次文件名吗?。就像你可以循环一次,保存列表中的所有名称,然后随机选择18个文件名并保存。不,我不需要循环5次!那只是我的第一个想法。我需要文件夹中文件列表中的5组不同的文件名。这在我的情况下不起作用!即使文件在每个列表中都是唯一的,但在列表之间不是唯一的!假设我有一个文件夹,其中只有4个文件:f1、f2、f3、f4,我想要两个unqiue列表:理想情况下,代码应该给我[f1、f2][f3、f4]-->在每个列表中不重复您的代码,但列表之间也不重复。还是谢谢你抽出时间!我不太确定我是否理解了你的问题,我的代码不会在两个列表之间重复,因为这是一个生成器,代码继续从前面的yield关键字执行。真的!也许我对这个问题的描述是模糊的!让我尽力吧。假设你有一个包含100个文件的文件夹:我想要五个列表,每个列表中,我想要18个唯一的文件名。文件名在每个列表中都应该是唯一的,因此每个列表中没有重复,列表之间也没有重复。所以每个列表中应该有18个唯一的文件名。一个更好的例子是:我有一个文件夹,里面有100首歌曲,给我5个列表,其中有18首独特的歌曲。因此,每个列表中的每首歌曲都是唯一的,并且在所有5个列表中没有两首相同的歌曲。因此,我的代码确实解决了这个问题:-您可以自己尝试。我添加了另一个函数,它返回5个列表的列表,因此更清楚地看到它们是唯一的OK,这是我的错误!这是你写的。非常感谢。是否也可以只在我的文件列表上迭代一次,并生成上面提到的@Lavanya V的五个唯一列表?