我正在使用列表中的几个文件名,其中我已经选择了以txt结尾的文件以进行一些处理:
Error CS0120 An object reference is required for the non-static field, method, or property
Error CS0120 An object reference is required for the non-static field, method, or property
Error CS0120 An object reference is required for the non-static field, method, or property
Error CS0120 An object reference is required for the non-static field, method, or property
在这种情况下,static
或my_files = ['my_doc_raw.txt', 'my_doc_transformed.txt', 'some_other_doc.txt', 'requirements.txt']
中只有一个文件需要进行下游处理,而无需同时进行。确保只保留一个的最佳方法是什么?我很难弄清楚如何通过删除两个文件来进行此过滤。
请注意,我有一个脚本来确定列表中各项的数据类型。例如:
my_doc_raw.txt
因此,考虑到我现在有重复的my_doc_transformed.txt
,这使我更加接近,但是我不确定从那里去还是采用其他方法。有提示吗?
答案 0 :(得分:0)
只要您有一种明确且行之有效的方法来规范化您的文件名(例如您的 data_type()
函数,那么您所要做的就是保留一个列表来存储您处理过的每种类型。
这是我的实现:
my_files = ['my_doc_raw.txt', 'my_doc_transformed.txt', 'some_other_doc.txt', 'requirements.txt']
completed = []
for file in my_files:
file_type = data_type(file)
if file_type not in completed:
#Add type to completed so we don't do it again
completed.append(file_type)
upstream_process(file) #Placeholder for whatever processing you want to do
它所做的只是检查数据类型是否在我们的列表中。如果没有,则将其添加到列表中并进行处理。这可以防止任何数据类型运行两次。