問題タブ [file-manipulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
227 参照

python - Pythonスクリプトを使用して文字列をファイルに追加しようとしています

私はスペイン語の小説を平文のテキスト ファイルで持っています。難しい単語の後に括弧で囲んで翻訳する Python スクリプトを作成したいと考えています。これを行いたい単語のリスト (翻訳付き) を別のテキスト ファイルに用意しました。これを正しく書式設定しようとしました。Python について知っていることはすべて忘れてしまいました。Python は、最初はほとんどなかったので、苦労しています。これは誰かが私を助けてくれたスクリプトです:

これを実行すると、次のエラー メッセージが表示されました。

小説はかなり大きく、私が作成した辞書は約 1 万のキーと値のペアで構成されています。

これは、辞書に問題があるということですか? それとも大きすぎますか?いろいろ調べているのですが、いまいちよくわかりません。アドバイスをいただければ幸いです。

0 投票する
4 に答える
369 参照

python - Python スクリプトはテキストをファイルに書き込みますが、想定されているテキストを追加しません

もう一度助けを求めるのは恥ずかしいですが、行き詰まっています。

私はスペイン語の小説 (プレーン テキスト) を持っており、別のテキスト ファイルのカスタム辞書を使用して、括弧内に難しい単語の翻訳を入れることになっている Python スクリプトを持っています。

何度も試行錯誤を繰り返した結果、スクリプトを実行し、想定どおりに新しいテキスト ファイルに小説を書き込むことができました。

唯一の問題は、小説のテキストに変更が加えられていないことです。つまり、翻訳がテキストに挿入されていません。ディクショナリはプレーン テキスト ファイルで、次のようにフォーマットされています。

等々。単語は実際には括弧で囲まれていないことに注意してください。各単語の間には 1 つのスペースがあり、ファイル内の他の場所にはスペースはありません。

問題のあるコードは次のとおりです。

アドバイスをいただければ幸いです。

編集: MemoryError は現在解決されています。修正したと思っていた辞書にエラーがありました。この愚かな問題で私を助けてくれた人々に感謝します!

0 投票する
2 に答える
273 参照

perl - 異なるケース間で有効な行のペアを見つけるPerl

各 GET/POST でタブ区切り形式の HTTP ヘッダー要求と応答データがあり、異なる行で応答します。このデータは、1 つの TCP フローに対して複数の GET、POST、および REPLY があるようなものです。これらのケースから最初の有効な GET - REPLY ペアのみを選択する必要があります。例(簡略化)は次のとおりです。

したがって、基本的には、ID ごとに 1 つの要求と応答のペアを取得し、それらを新しいファイルに書き込む必要があります。

'1' の場合は 1 組なので簡単です。しかし、両方の行が GET、POST、または REPLY である誤ったケースもあります。したがって、そのような場合は無視されます。

「2」の場合、最初の GET - REPLY ペアを選択します。

「3」の場合、最初の GET を選択しますが、最初の GET には Content-Length がないため、2 番目の REPLY を選択します (サブシークェスト REPLY がより適切な候補になります)。

「4」の場合、最初のヘッダーは REPLY にできないため、最初の POST (または GET) を選択します。2 番目の GET の後に REPLY を選択しませんが、POST の後にコンテンツの長さが欠落していても、REPLY はその後に来るためです。したがって、最初の REPLY を選択します。

したがって、最適な要求と応答のペアを選択したら、それらを 1 行でペアにする必要があります。たとえば、出力は次のようになります。

実際のデータには他にも多くのヘッダーがありますが、この例は必要なものをほとんど示しています。Perl でこれを行うにはどうすればよいでしょうか。私はほとんど最初に立ち往生しているので、一度に1行しかファイルを読むことができませんでした.

*編集: 各 ID の HTTP ヘッダー行の数を示す列を追加しました。これは、チェックする後続の行数を知るのに役立つ場合があります。また、最初のヘッダー行が REPLY になるように ID '4' を変更しました。*

0 投票する
1 に答える
963 参照

python - Python: .txt ファイルから Unicode 文字列を出力するにはどうすればよいですか

私は Python 3.2.3 を使用しており、アイドル状態でテキスト ゲームをプログラムしています。私は.txtファイルを使用して、後でプログラムによって開かれ、ターミナルで描画されるマップスキームを保存しています(今のところIDLE)。

.txt ファイルの内容は次のとおりです。

Π: ドア; □:窓。b: ベッド; c: コンピューター; w:ワードローブ

私はプログラミングが初めてなので、これを行うのは難しい問題です。

このためにこれまでに作成したコードは次のとおりです。

2 つのマップがあり、それぞれにタイトルがあり、小さい方はマップ 1 (私が示したもの) です。

プログラムを実行しようとすると、Python から次のエラー メッセージが表示されます。

IDLE 端末に表示されたとおりの地図を正確に印刷するにはどうすればよいですか?

0 投票する
3 に答える
3739 参照

linux - 出力列のフォーマットソートLinux

基本的に、並べ替えた後、列をタブで区切る必要があります。現在、2 つのスペースで区切られています。マニュアルページには、出力フォーマットに関連するものは何もありませんでした (少なくとも私はそれに気づきませんでした)。

それが不可能な場合は、 awk を使用してソートして印刷する必要があると思います。より良い代替手段はありますか?

編集: 質問を明確にするために、二重スペースの位置は一貫していません。私は実際に次のようなデータを持っています:

<date>\t<user>\t<message>.

次のように、年、月、日、時刻で日付で並べ替えます

Wed Jan 11 23:44:30 CST 2012

次に、元のファイルのようにソートされたデータを出力します。

<date>\t<user>\t<message>.

EDIT 2:タブのテストが間違っていたようです。私は生の行をbashからWindowsボックスにコピーして貼り付けていました。そのため、スペースが表示される代わりにタブとして認識されませんでした。ファイル全体を Windows にダウンロードしたところ、フィールドがタブで区切られていることがわかります。

また、並べ替え後の新しいファイルでも、フィールドの区切り (\t \n 、: ; など) が同じであることがわかりました。つまり、元のファイルにタブ区切りのフィールドがある場合、ソートされたファイルもタブ区切りになります。

最後に、「正しい」答えは、問題に対する正確な解決策ではありませんでした。自分のスレッドにコメントして正しいとマークできるかどうかわかりません。それでよろしければ、教えてください。

コメントありがとうございます。本当にありがとうございました!

0 投票する
3 に答える
152 参照

c# - 固有のファイル名変更の問題

現在、ウィンドウからデータを読み取り、入力に基づいて XML ファイルを生成するアプリを開発しています。

フォームが更新されるたびに新しいファイルを作成する必要があります(ユーザーが「送信」を押します)。(ここまでは順調ですね)

問題は次のとおりです。ファイルには、目立つフィールド入力にちなんで名前を付ける必要があります。(ユーザーがテキスト ボックスに「993388CX」と入力すると、アプリは保留中のファイルの名前を 993388CX.xml に変更します)。

C# で実際にファイルの名前を変更する方法は理解していますが、フォームの入力に基づいてファイルの名前を変更する方法は理解していません。フォーム入力に基づいてファイルの名前を動的に変更するクラス/メソッドはありますか?

コード:

// アプリ UI のユーザー入力から info1 を読み取り、XML ステートメントを生成します

info1.Text の文字列の後に新しいファイルの名前を変更する必要があります

ユーザー入力が「John5」の場合、ファイルの名前を john5.xml に変更する必要があります。

ありがとうございました

0 投票する
4 に答える
1814 参照

c# - Does System.IO.File.Move not support previously-defined strings?

For example, something like this fails:

Program crashes with "The given path's format is not supported."

EDIT: I'm doing this in a Windows Forms project vs. Console project, does that make a difference? Intuitively I wouldn't think it should, but you never know...

0 投票する
0 に答える
119 参照

shell - 一連のテキスト ファイルからサブディレクトリに画像をコピーする

約 100 のサブフォルダーを含むフォルダーがあります。これらの各サブフォルダーには、4 つのテキスト ファイルと、画像を含む 1 つまたは 2 つのフォルダー、および 4 つのテキスト ファイルに対応する 4 つの現在空のフォルダーがあります。各テキスト ファイルには、画像フォルダーから特定のフォルダーに移動する必要がある画像のリストがあります。

以下に図を示します。

1.txt には、/Textures/Asymmetrical/Asymmetrical/ または /Textures/Asymmetrical/Asymmetrical+Texture/ から /Textures/Asymmetrical/1/ などに移動する必要があるファイルのリストがあります。

ただし、すべてのフォルダがこの正確な形式であるわけではありません。以下に示す別のタイプが 1 つあります。

これらのファイル/フォルダーの目的は上記のとおりですが、画像フォルダーが 1 つしかないため、操作が簡単です。

今、私はシェルで次のコードを書きました:

これは実際に機能しますが、一部のフォルダーには images サブフォルダーがあり、他のフォルダーには含まれていないなどの理由で、多くのエラーが発生します。しかし、私はそれで完全に生きることができます。より大きな問題は、おそらく 40 ~ 200 枚程度の画像をコピーした後、プログラムがしばらくすると停止することです。何万もの画像を移動する必要があるため、このサイズのチャンクでコピーするのは面倒です。次のようなエラーが表示されます。

したがって、私は、1) コードの修正、または 2) ほとんど監督しなくても機能するこの問題の一般的な解決策のいずれかを求めていると思います。

0 投票する
2 に答える
8380 参照

r - テキストファイルのn行目を置き換えます

Rのテキストファイルのn行目を置き換えるにはどうすればよいですか?

0 投票する
2 に答える
526 参照

python - Perl を使用して Octave 内からファイルを操作する

ルーチンの途中で Octave 内からファイルを操作する必要があります。現時点では、Octave からファイルを保存してこのルーチンを終了します。

そして、手動で、そして面倒なことに、保存されたファイルを編集し、最初に編集されたファイルを読み取ることによって、新しい別の Octave ルーチンで操作を再開します。概念的には、必要なファイル操作は、この SO 投稿で概説されているものとは逆です。つまり、このように保存されたファイルです。

操作する必要があります

文字は実際には数字ですが、わかりやすくするために文字を使用しています。改行は常に各行の最後から 5 番目の数字の前になります。つまり、各行の最後の 0 0 0 0 1 は行の下に移動する必要があり、すべての行のすべての数字はスペースで区切られます。

Octaveには Perl と Python の関数があるため、この質問に Perl と Python のタグを付けました。上記の操作を行うスクリプトファイルを作成することで、簡単に目的を達成できると思います。この仮定が正しければ、Perl/Python スクリプトファイルのスタート/ウェブリンクを誰か教えてもらえますか? どちらも使用したことがありませんか?