20

csv.py(別のコンテキストで自分のクラスを実装するためのガイドとして)ファイルのソースコードを読み込もうとしたwriterところ、そのファイルの機能の多くが次のようなものからインポートされていることがわかりました_csv

 from _csv import Error, __version__, writer, reader, register_dialect, \
                  unregister_dialect, get_dialect, list_dialects, \
                  field_size_limit, \
                  QUOTE_MINIMAL, QUOTE_ALL, QUOTE_NONNUMERIC, QUOTE_NONE, \
                  __doc__

import _csvPythonシェルからは実行できますが、システムでこの名前のファイルを見つけることができません(Hidden属性が設定されているファイルの検索を含む) 。

このモジュールとは何ですか?それを読むことは可能ですか?

4

3 に答える 3

19

_csvcsvモジュールのC「バックボーン」です。そのソースはにありModules/_csv.cます。このモジュールのコンパイル済みバージョンは、Pythonコマンドプロンプトから次のように見つけることができます。

>>> import _csv
>>> _csv
<module '_csv' from '/usr/lib/python2.6/lib-dynload/_csv.so'>

Pythonソースコードには隠しファイルはありません:)

于 2012-10-18T17:06:46.863 に答える
14

larsmansの答えに異議を唱えないでください。

PEP8には、モジュールの命名規則に関する公式の説明があります。

CまたはC++で記述された拡張モジュールに、より高いレベル(たとえば、よりオブジェクト指向)のインターフェイスを提供するPythonモジュールが付属している場合、C / C ++モジュールには先頭にアンダースコア(たとえば、_socket)があります。

于 2012-10-18T17:10:49.957 に答える
0

回答はすでに受け付けていますが、OPと同じ質問があったので、いくつか詳細を追加したいと思います。

.csvファイルのコンテンツは、値がコンマで区切られたドキュメントです。

first,last
john,doe
...

これをテストするには、メモ帳で.csvファイルを開きます。

.csvファイルを作成する場合は、それに書き込むことができ、必要なcsvファイルを取得できます。

with open('test.csv', 'w') as file:
    file.write('first,last\n')
    file.write('John,Doe\n')

「importcsv」を使用せずに.csvファイルに書き込みたい場合の簡単な解決策。

于 2018-01-18T15:43:10.967 に答える