2017-07-31 153 views
1

Pythonはモジュールをインポートしていません!nullバイトのないモジュールをインポートすると、ValueErrorが発生します。ソースコード文字列にnullバイトを含めることはできません

marketing 
    ├───__init__.py 
    ├───analyzation\ 
    │ ├───__init__.py 
    │ ├───analyzer.py 
    ├───api\ 
    ├───test\ 
    │ ├───test_res\ (not important) 
    │ ├───__init__.py 
    │ ├───test_analyzer.py 

上記は私のフォルダ構造です。だから、analyzer.pyに私はクラスDataSetを持っていて、pandasからの輸入と、import randomの輸入からの輸入以外は何もありません。

test_analyzer.py私はサブクラスのサブクラスunittest.TestCaseを持っています。このスクリプトは、インポートされる次のクラスをテストしようとします:import marketing.analyzation.analyzer(これは動作しません)。エラーメッセージは以下の通りです:

Traceback (most recent call last): 
    File ".\test_analyzer.py", line 1, in <module> 
    import marketing.analyzation.analyzer 
ValueError: source code string cannot contain null bytes 

ただ、それはいくつかのダムvimのエラーではなかったことを確認するために、私はanalyzer.pyを再入力しました。少なくとも2時間はこれを修正しようとしましたが、もう1時間はスタックオーバーフローとグーグル・サーフィンのサーフィンをしましたが、これまでは何も出てこなかった。それはtest_analyzer.pyがそれ自身のサブモジュールにあるからですか?

感謝~~~

+0

はおそらくhttps://stackoverflow.com/questions/31233777/python-source-code-string-cannot-contain-null-bytesのだますが、私は今、確認することはできません。 –

+0

@ matt961: 'analyzer.py'の名前を' analyzer2.py'に変更した場合(インポートを変更せずに)、エラーは変わりますか? – Ryan

+0

@Ryan nope、同じエラー、インポートエラーでさえありません。 – matt961

答えて

0

は、Pythonで読まれているファイルを作成するために、PowerShellを使用しないでください。代わりに__init__.pyファイルを作成するためにVimを使用しました。ありがとうございました。

関連する問題