[解決済み] Python IOError: ファイルが書き込み用に開かれておらず、グローバル名 'w' が定義されていません。
2022-02-14 13:26:46
質問
Pythonで以下のような、ファイルの一行を書き込む(追記するとなお良い)ちょっとしたプロシージャを書こうとしているのですが。
def getNewNum(nlist):
newNum = ''
for i in nlist:
newNum += i+' '
return newNum
def writeDoc(st):
openfile = open("numbers.txt", w)
openfile.write(st)
newLine = ["44", "299", "300"]
writeDoc(getNewNum(newLine))
しかし、これを実行すると、エラーが発生します。
openfile = open("numbers.txt", w)
NameError: global name 'w' is not defined
paremeterの"w"を落とすと、他にこんなエラーが出ます。
line 9, in writeDoc
openfile.write(st)
IOError: File not open for writing
の内容をそのまま踏襲している(と思う)。 こちら .
改行しようとすると、同じことが起こります。どうすれば直るのでしょうか?
解決方法を教えてください。
問題は
open()
の呼び出しは
writeDoc()
ファイルモードの指定が正しくないということです。
openfile = open("numbers.txt", w)
^
は
w
は、(一重または二重の)引用符で囲む必要があります。
openfile = open("numbers.txt", "w")
^
を引用すると ドキュメント 再ファイルモード
最初の引数は、ファイル名を含む文字列である。 第2引数は、別の 文字列 数文字を含む ファイルの使用方法を記述します。
Re : "パレメーターを削除すると、次のような別のエラーが発生します: ..IOError: File not open for writing"
これは、もし
いいえ
ファイルモードが指定されている場合、デフォルト値は
'r'
というメッセージが表示されますが、これは、ファイルが書き込み用に開かれていないのではなく、読み込み用に開かれていることを意味しています。
の詳細については、このPythonドキュメントを参照してください。 ファイルの読み込み/書き込み と有効なモード指定について説明します。
関連
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み] Pythonの変数名や関数名の命名規則について教えてください。
-
[解決済み] Pythonでリストをファイルに書き込む
-
[解決済み] Pythonの__future__は何に使うのか、いつ、どのように使うのか、その仕組みについて
-
[解決済み] Python の open() はファイルが存在しない場合、ファイルを作成しない
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
-
[解決済み] PythonでUnicode(UTF-8)のファイル読み書きをする。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?