我想知道是否有人可以用下面的Python 3代码来帮助我。出于某种原因,它没有做我认为应该做的事情,我不明白为什么。从Python中读取文件
with open("ModuleShow.txt", "w+", encoding='utf-8') as ModuleShowFile:
if ModulesLeft == 0:
ModuleLoaded = CommandLine[2]
print(ModuleLoaded)
else:
ModuleLoaded = ModuleToLoad[0]
ModuleToLoad.pop(0)
ModulesLeft = ModulesLeft - 1
# ModuleFile.write("\n" + ModuleLoaded)
# CommandsFile.write("module show" + ModuleLoaded)
output = subprocess.Popen(["bash", "-ci", "module show " + ModuleLoaded], stderr=ModuleShowFile)
# with open("ModuleShow.txt", "r", encoding='utf-8') as ModuleShowFile:
print(ModuleShowFile.read())
for ModuleFileLine in ModuleShowFile:
FileLine = ModuleFileLine.split(" ")
print(FileLine[0])
if FileLine[0] == "prepend-path":
print(FileLine[0])
if FileLine[1] == "PATH":
ModulePathFile.write(FileLine[2] + " " + ModuleLoaded + "\n")
elif FileLine[0] == "module":
ModuleToLoad.append(FileLine[2])
ModulesLeft = ModulesLeft + 1
所以我在做什么在上面的代码信息写入名为ModuleShow.txt文件,然后分析这些信息,并写入该分析信息到一个名为ModulePath.txt文件,我打开ModulePath.txt之前,但我没有包括那部分代码,因为我相信它与我所遇到的问题无关。所以基本上,当我运行我的脚本时,内容被写入到文件中,但是当我读取内容时我什么都没有得到。例如,我尝试使用“print(ModuleShowFile.read())”,但没有打印出文件是否与内部的内容一起创建。我尝试了两个“打开()”行,一个用于写作,另一个用于阅读,但它仍然没有解决问题。希望这是简单的,我为这篇长文章道歉。我将不胜感激任何帮助。谢谢。
当你尝试过使用第二'的open()',一个用于写,另一个用于读,你关闭了第一个句柄/离开了第一个'open()'上下文句柄的范围吗?换句话说,第二个'open()'是否与第一个相同或更少? – jedwards 2013-03-26 16:59:06
第二个open()的缩进量与第一个open()的缩进量相同。 – user1878012 2013-03-26 17:02:19