gpt4 book ai didi

python 读取 -> 分析 -> 打印多个文件

转载 作者:行者123 更新时间:2023-11-30 23:26:20 26 4
gpt4 key购买 nike

我有 6 个格式相似但名称不同的文件。(例如,file_AA.dat file_AB.dat file_AC.dat file_BA.dat file_BB.dat file_BC.dat)

我可以编写一个for循环脚本来一次读取、分析和打印这些文件,而不是操作脚本6次吗?比如,

for i in {AA AB AC BA BB BC} 
filename = 'file_$i.dat'
file = open (filename, 'r')
Do a lot, lot of analysis for lots of rows and columns :P
file open('output_file_$i.dat','w')
Do some for loop for writing and calculation
file.close

因此,我希望能够自动执行一次读取/分析/写入不同文件(但格式相似)的过程。我很好奇如何处理它的输入/输出部分的命名。这样,我希望能够更快、更轻松地分析大量文件。

或者,有什么方法可以使用 python 和 Cshell 或 shell 脚本的混合来执行相同的操作?

谢谢

最佳答案

这个想法是迭代文件名,循环打开每个文件,进行分析,然后写入输出文件:

filenames = ['file_AA.dat', 'file_AB.dat', 'file_AC.dat', 'file_BA.dat', 'file_BB.dat', 'file_BC.dat']

for filename in filenames:
with open(filename, 'r') as input_file:
# Do a lot, lot of analysis for lots of rows and columns :P

with open('output_%s' % filename, 'w') as output_file:
# Do some for loop for writing and calculation

请注意,使用 with statement建议在处理文件时使用。

另请注意,您可以将两个 with 语句合并为一个,请参阅:

UPD:您可以使用string formatting用于构建文件名列表:

>>> patterns = ['AA', 'AB', 'AC', 'BA', 'BB', 'BC']
>>> filenames = ['file_{}.dat'.format(pattern) for pattern in patterns]
>>> filenames
['file_AA.dat', 'file_AB.dat', 'file_AC.dat', 'file_BA.dat', 'file_BB.dat', 'file_BC.dat']

希望有帮助。

关于python 读取 -> 分析 -> 打印多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22594926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com