我想知道是否有人可以用下面的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