为什么两个python进程将相同的内容写入不同的文件

为什么两个python进程将相同的内容写入不同的文件,python,Python,我有两个shell脚本同时运行。每个shell脚本中都有一个python脚本。这些python脚本将不同的内容写入不同的结果文件。但最后,结果文件是相同的,创建时间完全相同 我不明白为什么会这样 例如: [hadoop@XXXXX macd]$ ls -l ./data/*.p | tail -rw-rw-r-- 1 hadoop hadoop 14 Apr 10 12:37 ./data/603987.p -rw-rw-r-- 1 hadoop hadoop 15 Apr 10 13:48 .

我有两个shell脚本同时运行。每个shell脚本中都有一个python脚本。这些python脚本将不同的内容写入不同的结果文件。但最后,结果文件是相同的,创建时间完全相同

我不明白为什么会这样

例如:

[hadoop@XXXXX macd]$ ls -l ./data/*.p | tail
-rw-rw-r-- 1 hadoop hadoop 14 Apr 10 12:37 ./data/603987.p
-rw-rw-r-- 1 hadoop hadoop 15 Apr 10 13:48 ./data/603988.p
-rw-rw-r-- 1 hadoop hadoop 16 Apr 10 13:48 ./data/603989.p
-rw-rw-r-- 1 hadoop hadoop 16 Apr 10 14:00 ./data/603990.p
...

最后,我发现有一个软链接的目录。这与脚本和系统无关。

更多信息:我在同一个java进程中运行这两个脚本,python脚本以相同的相对路径打开文件(但在shell脚本中,我设置了不同的当前工作目录)。我们也很难找到这一点,没有任何代码。您有一个运行两个shell脚本的java进程?是的,一个具有不同线程的java进程。代码非常简单,代码非常简单。shell脚本只需切换cwd并运行python脚本。python脚本计算数值结果,用“w”选项打开文件,然后将内容写入文件并关闭文件@克劳斯-d
[hadoop@XXXXX macd]$ ls -l ../kdj/data/*.p | tail
-rw-rw-r-- 1 hadoop hadoop 14 Apr 10 12:37 ../kdj/data/603987.p
-rw-rw-r-- 1 hadoop hadoop 15 Apr 10 13:48 ../kdj/data/603988.p
-rw-rw-r-- 1 hadoop hadoop 16 Apr 10 13:48 ../kdj/data/603989.p
-rw-rw-r-- 1 hadoop hadoop 16 Apr 10 14:00 ../kdj/data/603990.p
...