Qtで開発をしている者です。
 質問の動機
 例えば、大量のウィジェットが存在しており、そのウィジェットごとにデータが格納されているとします。極端な話、そのウィジェット毎に、保存データのファイルを作成するのは、処理としてはあり得ない方法でしょうか?
 というのは、アプリを立ち上げた際に、一気にロードをするのではなくて、GUI上の何らかのアクションが生じた時に、そのウィジェットに対応したものを、その都度それに応じたファイルをロードするようにしたらいいのではないかと考えました。
 今までは全ての情報を、シーケンスで一つ~三つのファイルにまとめてそれを取り出したいデータごとに吸い出していました。
a,b,cというファイルを、ひとつのアプリで、aのファイルを選べばaのデータが、bを選べばbのデータが、cを選べばcのデータがそれぞれ吸い出されるようにしていたのです。
 しかし、今回、aをさらに分割し、aというデータが保持しているウィジェット1についての情報を、a-1ファイルへ、ウィジェット2についての情報をa-2ファイルへと、個別化してみたいと考えています。同様に、bが持っているウィジェット1についての情報は、b-1ファイルへ、以下略。
 
 ただ分割しまくるというのは、危険な行為のように思えてしまいます。自分には、ファイルは多くても三~四という先入観があり、opencloseを繰り返し、後は名前に番号さえ入れてやれば、理論上は大量に増やせるのはわかります。

 データの永続化については保存と取り出しが出来ただけで感動していたのですが、かなり大切な部分だという意識が高まってきました。(お答え次第によってはすぐにしぼんでしまうかもしれませんが)
 聞きたいこと
 プロフェッショナルな方達からすると、ファイルは用途に応じていくらでも作ったほうがよいのでしょうか?それとも、できるだけ少なくした方がよいでしょうか?ものの本などを見ても、ファイルの作り方、取り出し方などはよくみるのですが、

 「一つのアプリの、あるデータが保持しているすべての情報に対して、その情報を一定のルール区切り毎に(1000のウィジェットが保有しているデータなら1000のファイルを)分割して、その数だけ作成する事

 は、worseな選択肢でしょうか。データベースはあまり利用したくないです。
 ちなみに多分多くとも100~300になろうと思いますが、場合によってはファイルの量が増えすぎて、検索に支障が出て、かえって時間がかかったりしてしまいそうな気がしています。これはやめておいたほうがいいでしょうか?


 ぼやき:seekについて
 ひょっとして、こういうことをしないで済むために、ファイルを全部読み込むことなく、部分的な高速アクセスを図る方法が、seekというものなのでしょうか?一回一回分割したファイルにアクセスするのではなく、特定のseek位置へ移動してから読み込むべきということでしょうか。File系列の話の際には、よく見るメソッドですけれども、今まで利用する機会がありませんでした。
 こちらが使えるのならば、こちらを検討した方がいいでしょうか?よく使い方がわかりませんが、QFileも、保持中のデータをマップ化して、オフセット指定をして特定のデータのみにアクセスできるという方法があると耳にしたことがあります。こちらを検討したほうがいいかなぁともかんがえています。公式を見ているのですが、ランダムアクセスサポートという事で、大きな間違いではなさそうです。しかし、QDataStreamで登録しているのに、QIODeviceしか[seek][3]メソッドはないし・・・。いろんなものがごぎゃまぜになっているデータのなかからseekするというのも、試さず嫌いで敬遠していました。質問も質問としてまとまる気にならず、実際自分は、QFile,QIODevice,QDataStream,QTextStream,pythonに引き直すと、open(),io(),pickle()?等の明確な違いがあまりわからず、教科書通りに処理していました。
  
 ぼやきのあとで
 今改めて考えてみますと、fileは、データが入っているポイントを探し当てる物。そしてそれにに焦点を当てるためのクラス。io系のメソッドは取り出された一枚のデータが書かれているシートを走査して、情報を書き込んだり、読み取るための、ある意味コピー機のフラッシュのような役目。次に、pickle等は、ioがよみとった情報を、バイトコードやテキストファイルに変換し、fileに埋め込む役目をしているという理解で問題ないでしょうか?とすると、ioseekメソッドをもつというのもわかります。しかし、seekは、ioという段階にありながらも、情報をよみとれるというのがいまいちピンときません。読み取る相手がバイト列か単なるテキスト文字列かは、Dataの種類によって異なる気も致します。
 初心者の頃からもやもやしてました。

 聞きたいこと2
聞きたいことで聞いたことを代わりに行うのがseekメソッドなのでしょうか?
fileと、io,そしてpickle等の永続化3点セットの関係性を、氷解させてくれるようないい説明、たとえ噺などはございませんか?


 まとめ
 まとめると、自分のやろうとしているのは、fileのような、データの入っている箱を選ぶ段階で、個別具体的にするべきか?あるいは、データの入っている箱を選ぶ段階ではなく、その箱を見付けた後で、その箱の中から都合の良いデータを選ぶ処理をするべきか?という話に要約されるのではないかなとおもうようになりました。一言でいうと、このような疑問になりますが、どなたか詳しい方おねがいいたします。


python 3.6.5 Pyside 1.2.4