2017-10-10 3 views
0

を書いていませんファイル、今はできません。 クレイジーなことは、これが以前よりうまく動作していたことです。のPython 3.6 - file.write()実際には、これは私が私<em>が</em>に書き込むことができた問題に実行しているのPython 3.6</p> <p>で、タイトルにそれをキャッチしていない場合は

ファイルが存在する場合は追加するか、存在しない場合は新しいファイルに書き込もうとしています。

main_area_text

<div id="1131607" align="center" 
style="width:970px;padding:0px;margin:0px;overflow:visible;text- 
align:center"></div> 

下のdivタグのテキストを表し、以下の私のコードです:

main_area_text = #this is equal to the html text above 
       #I've verified this with a watch during debugging 
       #But this doesn't actually matter, because you can put 
       #anything in here and it still doesn't work 
html_file_path = os.getcwd() + "\\data\\myfile.html" 
if os.path.isfile(html_file_path): 
    print("File exists!") 
    actual_file = open(html_file_path, "a") 
    actual_file.write(main_area_text) 
else: 
    print("File does not exist!") 
    actual_file = open(html_file_path, "w") 
    actual_file.write(main_area_text) 

以前、それは状態を働いている中で、私がに追加/書き込み/作成することができます。 htmlと.txtファイル。

注:ファイル存在しない場合は、プログラムがまだそれはちょうど空です...新しいファイルを作成します。

私は多少Python言語に新しいので、私は単純なものを見落とす可能性が非常に高いことを認識しています。 (これは実際に私がこのコードを書いて、Pythonに慣れるためです)。

ありがとうございます!

+1

ファイルは別の場所で開いていますか? – toonarmycaptain

+4

ファイルを閉じていないと思われます。このため、ファイルを開くために常に 'with'ステートメントを使用する必要があります。その後、自動的に閉じます。 –

+0

@toonarmycaptain +1良い質問です。これは実際に私がダブルになった最初のものでした。ある時点では、このファイルを開いた状態で実行していた古いPythonインスタンスが実行されていましたが、それは実際の問題の原因ではありませんでした。 –

答えて

4

ファイルを閉じていないので、データはディスクにフラッシュされません。代わりにこれを試してみてください。

main_area_text = "stuff" 
html_file_path = os.getcwd() + "\\data\\myfile.html" 
if os.path.isfile(html_file_path): 
    print("File exists!") 
    with open(html_file_path, "a") as f: 
     f.write(main_area_text) 
else: 
    print("File does not exist!") 
    with open(html_file_path, "w") as f: 
     f.write(main_area_text) 

with statementデータをディスクにフラッシュすると、自動的にデータをクローズ処理するのpython。ファイルを処理するときは、一般にwithを使用することをお勧めします。

+0

あなたは本当のMVPです –

関連する問題

 関連する問題