因此,作为我的代码的一部分,我正在读取具有不同名称的文件路径,但往往坚持以下格式
p(number)_(temperature)C
我对这些路径所做的是将它分成2列(以及另外2列包含实际数据),所以我最终得到一行如下所示:
p2 18 some number some number
但是,我发现了一些使用以下格式的文件夹:
p(number number)_(temperature)C
就目前而言,对于第一种情况,我使用以下代码将文件路径分成适当的列:
def finale():
for root, dirs, files in os.walk('/Users/Bashe/Desktop/12/'):
file_name = os.path.join(root,"Graph_Info.txt")
file_name_out = os.path.join(root,"Graph.txt")
file = os.path.join(root, "StDev.txt")
if os.path.exists(os.path.join(root,"Graph_Info.txt")):
with open(file_name) as fh, open(file) as th, open(file_name_out,"w") as fh_out:
first_line = fh.readline()
values = eval(first_line)
for value, line in zip(values, fh):
first_column = value[0:2]
second_column = value[3:5]
third_column = line.strip()
fourth_column = th.readline().strip()
fh_out.write("%s\t%s\t%s\t%s\n" % (first_column, second_column, third_column, fourth_column))
else:
pass
我玩过一些东西,发现如果我做了以下更改,程序就能正常运行。
first_column = value[0:3]
second_column = value[4:6]
有没有办法让程序查看并查看文件路径是什么,并采取相应的行动?
答案 0 :(得分:0)
欢迎来到神奇主义的美妙世界。
import re
#..........
#case 0
if re.match(r"p\(\d+\).*", path) :
#stuff
#case 1
elif re.match(r"p\(\d+\s\d+\).*", path):
#other stuff
答案 1 :(得分:0)
>>> for line in s.splitlines():
... first,second = re.search("p([0-9 ]+)_(\d+)C",line).groups()
... print first, " +",second
...
22 + 66
33 44 + 44
23 33 + 22