誰かが次の Python 3 コードで私を助けてくれるかどうか疑問に思っていました。何らかの理由で、本来あるべきだと私が信じていることを行っていません。その理由がわかりません。
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())」を使用しようとしましたが、何も印刷されず、内容を含むファイルが作成されます。書き込み用と読み取り用の 2 つの「with open()」行を作成しようとしましたが、それでも問題は解決しませんでした。うまくいけば、それは簡単なものであり、長い投稿をお詫びします。助けていただければ幸いです。ありがとうございました。