为设置路径numpy.savetxt文件名包含循环变量

2024-10-01 11:42:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将更改名称的文件保存到与脚本不同的文件夹中:

save_field( './cycle_1_580-846/txt/"frame_" + str( 580 + j ) + "_to_" + str( 581 + j ) + ".txt"', "Data68_0" + str( 580 + j ) + ".tif", str( 580 + j ) + "_to_" + str( 581 + j ), scale = 1500, width = 0.0025)

现在为了保存包含循环变量的文件名,我遵循了this post。在

我天真地认为,使用'and“可以解决问题,但是,如果我这样做,我会在right文件夹中得到一个文件,但是文件名是错误的(在本例中是:“frame_”+str(580+j)+“to”+str(581+j)+“.txt)(我希望:frame__to_581.txt)。如果我不设定路径,我没有问题。在

有没有聪明的方法可以克服这个问题?在

干杯!在

编辑

也许这也会有帮助

^{pr2}$

Tags: 文件totxt脚本文件夹名称field文件名
1条回答
网友
1楼 · 发布于 2024-10-01 11:42:04

我不确定你的例子中“j”是什么。。。但我会做一些隐含的假设,然后从那里向前推进(也就是说,看起来你在尝试增加一个增量)。在

尝试以下操作:

save_path = "./cycle_1_580-846/txt/frame_" 
save_file = (str(580) + "_to_" + str(581) + ".txt")
save_other_file = ("Data68_0" + str(580) + ".tif")

save_field((save_path + save_file), , save_other_file, (str(580) + "_to_" + str(581)), scale = 1500, width = 0.0025)

我推荐类似上面的东西-有一些封装,对我来说更容易阅读,我甚至会进一步清理save_字段()。。。但我不知道它是怎么回事,我也不想假设太多。在

你现在真正的问题是,你继续使用你现有的,是你把你的单引号和你的双引号不正确地混合在一起。在

^{pr2}$

这两个都是有效的。在

但是,你所拥有的是:

sampleBadText = '"I want to have some stuff added" + 580 + "together"'

单引号包装基本上将整行转换成一个字符串。所以是的,难怪你的文件是这样命名的。您需要在适当的位置用单引号/双引号终止字符串,然后跳回python内置/变量名,然后再跳回字符串中,以便合并strings+variables+strings。在

不是为你做所有的工作,这就是开始的样子:

save_field( './cycle_1_580-846/txt/frame_' + str( 580 + j ) + '_to_' + str( 581 + j ) + '.txt', [...]

请注意我是如何调整单引号/双引号的,这样“字符串文字”就用单引号(或双引号)括起来了,然后我正确地终止了字符串文字并(通过+)将变量/ints/附加字符串括起来。。。在

希望这是有道理的,但你可以花很长的路来清理你所得到的,以避免这种类型的混乱。在

最终,如果你能让它看起来像:

save_field(_file_name, _other_file_name, other_arg, scale=1500, width=0.0025)

这样更清晰易读。但是,再一次,我没有花时间去研究save\u field做什么,以及它接受什么,所以我不知道_file_name_other_file_name,和{}是否有意义,我只是希望他们能这样做!在

相关问题 更多 >