タグ付けされた質問 「io」

コンピューティングでは、入出力(I / O)は、情報処理システム(コンピュータなど)と外界、おそらく人間または別の情報処理システムとの間の通信を指します。

7
どのプロセスがすべてのディスクIOを使用しているか
「top」を使用すると、どのCPUがビジーで、どのプロセスがすべてのCPUを使用しているかを確認できます。 「iostat -x」を使用すると、どのドライブがビジーであるかを確認できます。 しかし、どのプロセスがドライブのすべてのスループットを使用しているかをどのように確認できますか?

9
非ブロッキングI / Oは、マルチスレッドのブロッキングI / Oよりも本当に高速ですか?どうやって?
ブロックI / Oと非ブロックI / Oに関するいくつかの技術的な詳細でWebを検索したところ、非ブロックI / OはブロックI / Oよりも高速であると述べた人が何人か見つかりました。このドキュメントの例です。 ブロックI / Oを使用する場合、もちろん現在ブロックされているスレッドは他に何もできません...ブロックされているためです。ただし、スレッドがブロックされ始めるとすぐに、OSは別のスレッドに切り替えることができ、ブロックされたスレッドに対して何かするまで、元に戻せません。したがって、CPUを必要とし、ブロックされていない別のスレッドがシステムにある限り、イベントベースの非ブロックアプローチと比較して、CPUアイドル時間はこれ以上ないはずです。 CPUがアイドル状態である時間を減らすことに加えて、特定の時間枠でコンピューターが実行できるタスクの数を増やすためのもう1つのオプションがあります。スレッドの切り替えによって生じるオーバーヘッドを減らします。しかし、これをどのように行うことができますか?そして、オーバーヘッドは測定可能な効果を示すのに十分な大きさですか?これが私がそれをどのように機能させるかについてのアイデアです: ファイルの内容をロードするために、アプリケーションはこのタスクをイベントベースのI / Oフレームワークに委任し、ファイル名とともにコールバック関数を渡します イベントフレームワークはオペレーティングシステムに委任します。オペレーティングシステムは、ファイルをメモリに直接書き込むようにハードディスクのDMAコントローラをプログラムします。 イベントフレームワークにより、さらにコードを実行できます。 ディスクからメモリへのコピーが完了すると、DMAコントローラが割り込みを発生させます。 オペレーティングシステムの割り込みハンドラは、ファイルがメモリに完全に読み込まれていることをイベントベースのI / Oフレームワークに通知します。それはどのように行うのですか?信号を使用していますか? イベントI / Oフレームワーク内で現在実行されているコードが終了します。 イベントベースのI / Oフレームワークはキューをチェックし、ステップ5のオペレーティングシステムのメッセージを確認して、ステップ1で取得したコールバックを実行します。 それはどのように機能しますか?そうでない場合、どのように機能しますか?つまり、スタックを明示的に操作する必要なく、イベントシステムが機能できるということです(スレッドを切り替えながらスタックをバックアップし、別のスレッドのスタックをメモリにコピーする必要がある実際のスケジューラなど)。これで実際にどれだけの時間を節約できますか?もっとありますか?


2
ValueError:閉じたファイルでのI / O操作
import csv with open('v.csv', 'w') as csvfile: cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) for w, c in p.items(): cwriter.writerow(w + c) ここで、pは辞書でw、cどちらも文字列です。 ファイルに書き込もうとすると、エラーが報告されます。 ValueError: I/O operation on closed file.
109 python  csv  file-io  io 

4
ポートを同期的に読み書きするときに再帰を回避しますか?
Rebol 3のすべてのポート操作は非同期です。同期通信を行うために見つけることができる唯一の方法は、を呼び出すことwaitです。 ただし、この場合の待機の呼び出しの問題は、すべての開いているポートのイベントをチェックすることです(待機に渡されるポートブロックにない場合でも)。次に、応答するイベントハンドラーを呼び出しますが、これらのイベントハンドラーの1つで読み取り/書き込みを実行できます。その結果、「待機」の再帰呼び出しが発生する可能性があります。 どうすればこれを回避できますか?
108 asynchronous  io  rebol  rebol3 


9
IOUtils.toString(InputStream)に相当するGuava
Apache Commons IOには便利なメソッドがありますInputStream、文字列を読み取るための IOUtils.toString()があります。 私はアパッチコモンズからグアバに移動しようとしているので、グアバに同等のものはありますか?com.google.common.ioパッケージ内のすべてのクラスを調べましたが、これほど単純なものは見つかりませんでした。 編集:私は文字セットの問題を理解し、感謝しています。すべてのソースがASCII(はい、ASCII、ANSIではないなど)であることを知っているので、この場合、エンコーディングは問題になりません。
106 java  io  inputstream  guava 

5
Javaでループを使用せずに完全なファイルを読み取る
重複の可能性: ファイル全体のテキストファイルの内容からJavaの文字列にJava文字列を作成する方法 FileReaderを使用してファイルの内容を読み取ろうとしています。しかし、私は行ごとに読み込まずにファイルを読みたいです。ループなしでファイル全体を読み取ることは可能ですか?次のコードを使用しています try { File ff=new File("abc.txt"); FileReader fr=new FileReader(ff); String s; while(br.read()!=-1) { s=br.readLine(); } } catch(Exception ex) { ex.printStackTrace(); }
103 java  file  io 

3
FileSystemWatcherを使用してディレクトリを監視する
Windowsフォームアプリケーションを使用してディレクトリを監視し、そこにドロップされたファイルを別のディレクトリに移動しています。 現時点では、ファイルを別のディレクトリにコピーしますが、別のファイルが追加されると、エラーメッセージなしで終了します。3つ目で終了する前に2つのファイルをコピーする場合があります。 これは、コンソールアプリではなくWindowsフォームアプリケーションを使用しているためですか?プログラムの終了を止めて、ディレクトリを監視し続ける方法はありますか? private void watch() { this.watcher = new FileSystemWatcher(); watcher.Path = path; watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*.*"; watcher.Changed += OnChanged; watcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) { //Copies file to another directory. } public void Dispose() { …

5
Pythonが1行ずつCSVに書き込む
httpリクエストを介してアクセスされ、サーバーからカンマ区切り形式で返送されるデータがあります。次のコードがあります。 site= 'www.example.com' hdr = {'User-Agent': 'Mozilla/5.0'} req = urllib2.Request(site,headers=hdr) page = urllib2.urlopen(req) soup = BeautifulSoup(page) soup = soup.get_text() text=str(soup) テキストの内容は次のとおりです。 april,2,5,7 may,3,5,8 june,4,7,3 july,5,6,9 このデータをCSVファイルに保存するにはどうすればよいですか。私は次の行に沿って何かを行ごとに繰り返すことができることを知っています: import StringIO s = StringIO.StringIO(text) for line in s: しかし、私は今、各行をCSVに適切に書き込む方法がわかりません 編集--->提案されたフィードバックに感謝します解決策はかなり単純であり、以下に見ることができます。 解決: import StringIO s = StringIO.StringIO(text) with open('fileName.csv', 'w') as f: for line …
100 python  string  file  csv  io 

7
開いているファイルでread()を2回呼び出せないのはなぜですか?
私が行っている演習では、read()メソッドを使用して特定のファイルの内容を2回読み取ろうとしています。不思議なことに、2回目に呼び出したときに、ファイルの内容が文字列として返されないようです。 これがコードです f = f.open() # get the year match = re.search(r'Popularity in (\d+)', f.read()) if match: print match.group(1) # get all the names matches = re.findall(r'<td>(\d+)</td><td>(\w+)</td><td>(\w+)</td>', f.read()) if matches: # matches is always None もちろん、これが最も効率的でも最良の方法でもないことは知っています。これがここでのポイントではありません。ポイントは、なぜ私はread()二度電話をかけることができないのですか?ファイルハンドルをリセットする必要がありますか?またはそれを行うためにファイルを閉じる/再度開きますか?
98 python  io 

18
hadoopスキームのFileSystemがありません:ファイル
単純なNaiveBayesClassiferhadoopを使用して実行しようとしていますが、このエラーが発生します Exception in thread "main" java.io.IOException: No FileSystem for scheme: file at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1375) at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1390) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:196) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:95) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:180) at org.apache.hadoop.fs.Path.getFileSystem(Path.java:175) at org.apache.mahout.classifier.naivebayes.NaiveBayesModel.materialize(NaiveBayesModel.java:100) コード: Configuration configuration = new Configuration(); NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), configuration);// error in this line.. modelPathNaiveBayes.binファイルを指しており、構成オブジェクトが印刷中です-Configuration: core-default.xml, core-site.xml 私はそれが瓶のためだと思います、何かアイデアはありますか?
96 java  hadoop  io 

14
コマンドでファイルを使用し、出力を切り捨てずに同じファイルにリダイレクトするにはどうすればよいですか?
基本的に、ファイルから入力テキストを取得し、そのファイルから行を削除し、出力を同じファイルに送り返します。それがより明確になるなら、これらの線に沿った何か。 grep -v 'seg[0-9]\{1,\}\.[0-9]\{1\}' file_name > file_name しかし、これを行うと、空のファイルができてしまいます。何かご意見は?
95 bash  redirect  io 

6
標準入力から行ごとに読み取る方法は?
標準入力から1行ずつ読み取るScalaのレシピは何ですか?同等のJavaコードのようなもの: import java.util.Scanner; public class ScannerTest { public static void main(String args[]) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ System.out.println(sc.nextLine()); } } }

5
レイジーI / Oの何が悪いのですか?
量産コードではレイジーI / Oの使用を避けるべきだと一般的に聞いています。私の質問は、なぜですか?いじるだけでなく、Lazy I / Oを使用しても問題ありませんか?そして、何が代替案(例えば列挙子)をより良くするのですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.