Python模块保持文件位置变量的更新?

2024-04-26 06:38:56 发布

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

我的python脚本中有一个变量,它将文件路径作为字符串保存。如果文件要移动到另一个目标,是否有办法通过python模块等保持文件路径的更新


Tags: 模块文件字符串路径脚本目标办法
2条回答

TL;DR

您最好的选择可能是使用@DeepSpace这样的解决方案,您可以在命令行中使用参数调用脚本,然后强制用户输入有效路径


这实际上是一个很好的问题,但不幸的是,纯粹地说,这是不可能的

任何python模块都无法将变量动态链接到文件系统上的路径。您需要一个外部脚本或例程来更新保存路径值的任何类型的数据结构

即使这样,文件名也可能更改,但它的位置不会更改。这就是我的意思

假设您要将该文件包装到仅包含该特定文件的文件夹中。因为您现在知道它的位置是固定的(理论上讲),所以您可以使用另一个python脚本/例程来读取文件名并将其存储在文本文件中。您的另一个脚本可以获得该文件名(考虑到您的例程将定期同步该文件)。但是,一旦文件的位置发生变化,你怎么可能知道它现在在哪里呢。它必须在某个地方手动硬编码,才能有接近您期望的行为

请注意,我的示例无论如何都不是解决您问题的方法。我实际上是想强调这种功能的缺点

简短回答:不,不是用字符串

详细回答:如果您只想使用一个字符串来记录此文件的位置,您可能会运气不佳,除非您使用其他工具来查找文件的位置,或者在文件移动时进行记录-我不知道这些工具是什么

在你的问题中,你没有给出很多关于你想要这个变量做什么的信息;正如@DeepSpace在他的评论中所说的,如果您试图让这个字符串在程序的不同运行之间跟随文件,那么最好为脚本创建一个参数。但是,如果您希望文件在程序执行过程中的某个时间移动,您可以使用文件对象来跟踪它。或者,与其将文件路径保留在内存中,不如将文件描述符保留在内存中(您可以使用open()函数生成这种描述符,只要在程序终止之前,永远不要关闭该文件)。如果需要多次读取,可以使用seek返回到文件的开头。这方面的问题包括内存不安全,而且绝对不是最佳实践

相关问题 更多 >

    热门问题