1

これはおそらく私が問題を抱えている単純なものですが、それが私のラップトップのpythonバージョンであるかどうかを判断するための別のマシンがありません。

プログラムを実行すると、「タイプ エラー: 関数 open() には引数が必要ありません (2 つ指定)」というエラーが表示されます。

問題のコード スニペット:

    import tkinter as tk
    from tkinter import filedialog as fdg

    def update_queue():
            conf_file = open("config.txt", "a")
            fd = fdg.LoadFileDialog(master)
            file = fd.go(pattern="*.jpg")
            conf_file.write(file)
            conf_file.close()

私はまだ Python に詳しくないので、open() 関数が失敗する理由についてのポインタ (「あなたのコードは、昨夜の焦げたスパゲッティよりもひねったように見えます」もカウントされます) をいただければ幸いです。

また、定義された関数の外で open を呼び出すと、ファイルが開かれ、そのファイルに対して実行されたすべてのアクションを完了することができますが、ファイルを閉じると、関数内からファイルを再度開くことはできません。os ファイル関数を使用しようとしましたが、「LoadFileDialog はバッファ定義のファイル関数では機能しません」というエラーが表示されました。理解できる。

conf_file.flush() を使用すると、関数の外で開いたと仮定すると、後でファイルから再度読み取ることができるように、書き込み/追加したものはすべてフラッシュされますか?

編集: つまり、これは常に機能しますか、それともハッキングと見なされますか?

4

2 に答える 2

1

それはコード全体ですか?別のオープン関数をどこかにインポートしていないことを確認してください。またはそれを再定義しました。

于 2012-09-26T02:36:52.823 に答える
0

open() が後で宣言され、それをコードに含めなかったと仮定すると、おそらく次のように宣言しました

def open():
    #code here

この場合、関数を宣言するときに引数を追加しなかっただけで、次のようにする必要があります。

def open(x, y):
    #code here

ここで、x と y は好きなように指定できます。

戻ってきて、残りのコードを投稿してください (これがすべてであるとは思えません)。より良い回答が得られます。本当に起こっていることは、せいぜい一部の憶測です。

于 2012-09-26T02:51:05.313 に答える