0
def ConvertFile():
  FileNameIn = 'Hexdata.dat'
  HexFile = open(FileNameIn, 'r')
  for Line in HexFile:
    print (Line)
    print (Binary(Line))
  HexFile.close()

これまでのところ、プログラムを実行すると、ファイル内の 16 進数が 2 進数に変換されます。これは、Hexdata.dat というファイルにあります。

次に、バイナリ出力を Binarydata.dat というファイルに保存します。

コードでこれにどのようにアプローチしますか? 私は Python の初心者であり、これを適切にカバーしていないことに注意してください。私はさまざまなコードを試しましたが、実際にはすべて推測であるため、すべて失敗しました。

私はあなたに問題を解決してほしいと言っているのではなく、プログラムの出力を新しいテキスト ファイルに保存する方法を尋ねています。

4

5 に答える 5

3

あなたはすでにほとんどそこにいます。読み取り用にファイルを開く方法は既に知っています。

HexFile = open(FileNameIn, 'r')

そこ'r'には「読むために開いている」という意味があります。functionドキュメントをopenr見ると、を aに置き換えるwと書き込み用のファイルが開くことがわかります。

OutputFile = open(FileNameOut, 'w')

そして、次のように出力を送信できます。

print >>OutputFile, "Something to print"

またはwrite、ファイル オブジェクトでメソッドを使用します。

OutputFile.write("Something to print\n")
于 2012-04-10T13:20:38.187 に答える
0

現在、ファイルを読み取りモードで開いているため、ファイルに書き込むには、バッファリングモードをとしてファイルを開く必要があります('w')。引用元: http: //docs.python.org'r'に置き換えることで簡単に行うことができます'w'

'w' for writing (truncating the file if it already exists

詳細については、を参照してください。open(name[, mode[, buffering]])

# the file name
FileNameIn = 'Hexdata.dat'

# create a file object: open it with "write" mode
HexFile = open(FileNameIn,"w")

for line in HexFile:
    HexFile.write(Binary(line))

HexFile.close()
于 2012-04-10T13:19:25.640 に答える
0

このスクリプトには2つのファイルが必要です。あなたが読んでいるものとあなたが書いているもの。書き込むファイルを開くときは、オプションwb(バイナリの書き込み)を使用します。これらの2つのリンクは、Pythonの知識がほとんどまたはまったくない初心者が演習を完了するのに役立ちます。ファイルオブジェクトの概要とファイルI/Oのチュートリアルです。

于 2012-04-10T13:25:35.237 に答える
0

ファイルへの書き込みに open('Binarydata.dat', 'w') を使用してみましたか? ファイルに書き込む方法はたくさんありますが、そのほとんどはhttp://docs.python.org/tutorial/inputoutput.htmlにあります。

于 2012-04-10T13:20:34.047 に答える
0

open 関数(ファイルを書き込みモードで開く) とファイル オブジェクト(開いたフ​​ァイルに情報を書き込む)のドキュメントを読んでください。

于 2012-04-10T13:21:33.373 に答える