Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在用Python编写文件时,在文本编辑器中打开文件是否安全?_Python_File_Io - Fatal编程技术网

在用Python编写文件时,在文本编辑器中打开文件是否安全?

在用Python编写文件时,在文本编辑器中打开文件是否安全?,python,file,io,Python,File,Io,我使用Python将一个很长的度量值写入一个文本文件。脚本运行时在记事本中打开文件是否安全?最佳做法似乎是:复制文件并打开副本 谢谢@pault.我不认为这取决于程序是否锁定文件-如果您使用windows,记事本可能还可以。另一种选择是复制文件并打开副本。这可能取决于您的操作系统、编辑器和操作。如果您的操作系统在锁定文件方面没有做任何有趣的事情,并且您和您的编辑器没有执行任何写入、截断或类似操作,那么您应该不会有问题。除非您确定您的文件是通过文本编辑器以只读模式打开的(例如,linux上的vim

我使用Python将一个很长的度量值写入一个文本文件。脚本运行时在记事本中打开文件是否安全?

最佳做法似乎是:复制文件并打开副本


谢谢@pault.

我不认为这取决于程序是否锁定文件-如果您使用windows,记事本可能还可以。另一种选择是复制文件并打开副本。这可能取决于您的操作系统、编辑器和操作。如果您的操作系统在锁定文件方面没有做任何有趣的事情,并且您和您的编辑器没有执行任何写入、截断或类似操作,那么您应该不会有问题。除非您确定您的文件是通过文本编辑器以只读模式打开的(例如,linux上的vim-RM)。在问题中没有包括操作系统和特定编辑器,这是不可知的。这通常是安全的,但我们不能为每个操作系统上的每个编辑器说话。为什么您认为这是最佳做法?不必担心编辑器是否会截断或如何在只读模式下使用它。为什么编辑器会截断正在打开的文件,而不明确要求保存它?我从来没有听说过一个编辑会做这样的事情——尽管我是理所当然的,但我已经足够老练了,可以坚持使用
vim
emacs
(这两种方法都很好)。当然,但问题是——如果你问“假设没有一个编辑会做X吗?”而不指定特定的编辑器,然后,我们必须假设Joe Bob的古怪的半途而废的编辑器存在,并且会在启动时自动尝试将文件更改为不同的字符集或其他内容,因此(在您的评论中)会得到一个非常保守的答案。然而,在几乎所有情况下,这个答案都是不必要的保守。(我们还需要担心Windows上的编辑器,如果问题中没有指定详细信息,Windows默认情况下的文件锁定规则比Unix世界更严格;即使以只读模式打开文件也会限制Windows上的并发写入,而这对Unixlikes没有影响)。