Python2のfile()関数をPython3関数にどのように適合させるのですか?

シャラン・ダギララ

主な問題

私は現在、この特定のGithubプロジェクトをMacOSで実行しようとしていますPython 2を実行しているシステム用にコーディングされていることは間違いありません。ただし、Python3を実行しているため、プログラムにいくつかの変更を加える必要があります。以下のものを除いて、これらの変更のほとんどはシームレスに機能します。

このコマンドでプログラムを実行すると...

python3 separate_dsd.py -i ./../../Ricotti\ \&\ Alburquerque\ -\ Dont\ You\ Believe\ Me.mp3 -o ./ -m ./../../model1.pkl

...エラーが発生しますNameError: name 'file' is not definedファイルはio.openPython3内で置き換えられました。ただし、関数呼び出しをに置き換えるだけでio.openはエラーが発生します。

f=file(filename,'rb')コードブロックの特定の行は次のとおりです。

def load_model(filename):
    f=file(filename,'rb')
    params=pickle.load(f)
    f.close()
    return params

これはファイルにあります/DeepConvSep/examples/dsd100/separate_dsd.py今どのように私はの正確な動作を置き換えるに行くかfile(filename,'rb')io.open


以下の回答への回答

現在、@ abarnertの提案に従おうとし、コードを次のように変更しました。

def load_model(filename):
    with open(filename, 'rb') as f:
        return pickle.load(f)

しかし、それでもエラーが発生します。

Traceback (most recent call last):
  File "separate_dsd.py", line 336, in <module>
    main(sys.argv[1:])
  File "separate_dsd.py", line 333, in main
    train_auto(inputfile,outdir,model,0.3,30,25,32,513)
  File "separate_dsd.py", line 250, in train_auto
    params=load_model(model)
  File "separate_dsd.py", line 19, in load_model
    params=pickle.load(f)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xbb in position 2: ordinal not in range(128)
chb

少なくとも2つの選択肢があるようです。

A)への呼び出しを交換file()して、open()内蔵された機能Pythonで3

b)非常に役立つvenv(仮想Python環境)の使用方法を学び、Python2インタープリターのインスタンスを使用してこのプロジェクトのランタイム環境を作成します。

前者を選択した場合は、次を呼び出すときにバイナリファイルを読み取ろうとしていることを指定する必要がありますopen()

open(filename, 'rb')

ただし、このプロジェクトでは、Python 3インタープリターとソースコード間の非互換性のインスタンスはおそらくこれだけではないため、Python2環境を作成することをお勧めします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

曲線を階段関数にどのように適合させることができますか?

分類Dev

Pythonで2つの印刷関数を組み合わせるにはどうすればよいですか?

分類Dev

一部のデータポイントがNaNである場合、2次元関数をどのように適合させるのですか?

分類Dev

2つの異なる関数から2つの変数を呼び出して追加するにはどうすればよいですか?(Python3)

分類Dev

余弦関数をどのように適合させることができますか?

分類Dev

Python 3で2つの関数を一緒に追加するにはどうすればよいですか?

分類Dev

Python3で関数のスコープと同期をどのように管理しますか

分類Dev

測定された輝線データをPythonのガウス関数にどのように適合させますか?(原子分光法)

分類Dev

このJavascript関数を適切に反復させるにはどうすればよいですか?

分類Dev

この関数がPythonの配列行から組み合わせのペアを返すようにするにはどうすればよいですか?

分類Dev

Python-数値計算された積分を含む関数に曲線を適合させるにはどうすればよいですか?

分類Dev

Python-数値計算された積分を含む関数に曲線を適合させるにはどうすればよいですか?

分類Dev

python3で削除されたpython2の組み込み関数のリストはありますか?

分類Dev

Python Tkinter-ある関数から別の関数に値をどのように使用できますか?

分類Dev

複数の整数に複数の関数を渡させるにはどうすればよいですか?

分類Dev

PostgreSQL関数で2つのselectを組み合わせるにはどうすればよいですか?

分類Dev

2つの関数を組み合わせて、javascriptとhtml5で希望どおりに機能させるにはどうすればよいですか?

分類Dev

関数に複数の型をどのように受け入れさせるのですか?

分類Dev

python3では、関数の名前を知らなくても、その関数のスコープ内から関数を参照するにはどうすればよいですか?

分類Dev

2つのシリーズを入力として使用し、出力が引数の各組み合わせの関数結果のDataFrameである関数を適用するにはどうすればよいですか?

分類Dev

rand関数とsplit関数を使用して特定の3要素の組み合わせを回避するにはどうすればよいですか?

分類Dev

Python 3.xのinput()関数のNameErrorを修正するにはどうすればよいですか?

分類Dev

Apolloで複数のfetchMore関数をどのように組み合わせることができますか?

分類Dev

1 つの関数から 2 つの他の関数に文字列を供給し、Python で出力するにはどうすればよいですか?

分類Dev

Pythonで多くの関数のすべての組み合わせを作成するにはどうすればよいですか?

分類Dev

Python:関数を別の関数に含めるにはどうすればよいですか?

分類Dev

データフレーム内の行のすべての組み合わせに関数を適用するにはどうすればよいですか?

分類Dev

Python3で呼び出し元の関数にさらに値を返し、結果を表示するにはどうすればよいですか?現在、インクリメントなしで最初の値のみを出力していますか?

分類Dev

2つの$ .getJSON関数の後にこの関数を発生させるにはどうすればよいですか?

Related 関連記事

  1. 1

    曲線を階段関数にどのように適合させることができますか?

  2. 2

    Pythonで2つの印刷関数を組み合わせるにはどうすればよいですか?

  3. 3

    一部のデータポイントがNaNである場合、2次元関数をどのように適合させるのですか?

  4. 4

    2つの異なる関数から2つの変数を呼び出して追加するにはどうすればよいですか?(Python3)

  5. 5

    余弦関数をどのように適合させることができますか?

  6. 6

    Python 3で2つの関数を一緒に追加するにはどうすればよいですか?

  7. 7

    Python3で関数のスコープと同期をどのように管理しますか

  8. 8

    測定された輝線データをPythonのガウス関数にどのように適合させますか?(原子分光法)

  9. 9

    このJavascript関数を適切に反復させるにはどうすればよいですか?

  10. 10

    この関数がPythonの配列行から組み合わせのペアを返すようにするにはどうすればよいですか?

  11. 11

    Python-数値計算された積分を含む関数に曲線を適合させるにはどうすればよいですか?

  12. 12

    Python-数値計算された積分を含む関数に曲線を適合させるにはどうすればよいですか?

  13. 13

    python3で削除されたpython2の組み込み関数のリストはありますか?

  14. 14

    Python Tkinter-ある関数から別の関数に値をどのように使用できますか?

  15. 15

    複数の整数に複数の関数を渡させるにはどうすればよいですか?

  16. 16

    PostgreSQL関数で2つのselectを組み合わせるにはどうすればよいですか?

  17. 17

    2つの関数を組み合わせて、javascriptとhtml5で希望どおりに機能させるにはどうすればよいですか?

  18. 18

    関数に複数の型をどのように受け入れさせるのですか?

  19. 19

    python3では、関数の名前を知らなくても、その関数のスコープ内から関数を参照するにはどうすればよいですか?

  20. 20

    2つのシリーズを入力として使用し、出力が引数の各組み合わせの関数結果のDataFrameである関数を適用するにはどうすればよいですか?

  21. 21

    rand関数とsplit関数を使用して特定の3要素の組み合わせを回避するにはどうすればよいですか?

  22. 22

    Python 3.xのinput()関数のNameErrorを修正するにはどうすればよいですか?

  23. 23

    Apolloで複数のfetchMore関数をどのように組み合わせることができますか?

  24. 24

    1 つの関数から 2 つの他の関数に文字列を供給し、Python で出力するにはどうすればよいですか?

  25. 25

    Pythonで多くの関数のすべての組み合わせを作成するにはどうすればよいですか?

  26. 26

    Python:関数を別の関数に含めるにはどうすればよいですか?

  27. 27

    データフレーム内の行のすべての組み合わせに関数を適用するにはどうすればよいですか?

  28. 28

    Python3で呼び出し元の関数にさらに値を返し、結果を表示するにはどうすればよいですか?現在、インクリメントなしで最初の値のみを出力していますか?

  29. 29

    2つの$ .getJSON関数の後にこの関数を発生させるにはどうすればよいですか?

ホットタグ

アーカイブ