問題タブ [listdir]
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.
python - pycharm os.listdir はコンテンツをリストしません
私は処女です。やさしく扱ってください。
Python3.5 では、以下を実行できます。
これにより、そのディレクトリに含まれるファイルのリストが生成されます。
Pycharm で同じスクリプトを実行すると、ファイルのリストを作成せずに終了します。(終了コード 0)。
これは、問題の最も単純な表現です。
現在の作業ディレクトリの内容と同じパターンについて、Python と Pycharm をテストしました。
SOで強調表示されている作業ディレクトリの問題を見ました。Pycharm の python コンソールとプロジェクト構造のソース フォルダーで作業ディレクトリを指定するソリューションは、私にとってはうまくいきませんでした。Pycharmも再インストールしました。
これは簡単に修正できますか?提案に感謝します。Win10 上の Pycharm コミュニティ 2016.2.3。
python - scandir の DirEntry オブジェクト ジェネレーターの名前属性をループなしで取得する
scandir は listdir の改良版であると読んだので、これを使用して、おそらく大きなディレクトリ コンテンツのリストを最も効率的な方法で渡したいと考えました。
ファイルとフォルダーの名前を直接指定する listdir とは異なり、scandir は DirEntry オブジェクト ジェネレーターを出力します。
scandir で名前だけを取得するには、現在次を使用しています。
そして、私が望む適切な関数で名前をアンパックするために、私は渡します
*(names.name for names in scandir(path))
それぞれの関数引数として、 listdir を使用すると渡すことができます
*listdir(path)
引数として。
その scandir の使用法は効率的ですか? forループで反復せずに、どうにかして名前を直接抽出できますか?
python - Pythonでファイル名を並べ替える
次の問題があります。
複数のデータ ファイルをロードする必要があります。ファイルは、私のデバイスによって次のように命名されます。
つまり、先行ゼロはありません。したがって、ファイル名を取得した場合
これらはアルファベット順に並べられているため、「meas100.dat」が最初になります。これは明らかに私が達成したいことではありません。問題は、これを行う最もエレガントな方法は何ですか?
私が思いついた(エレガントではない)方法は次のとおりです。
- ファイル名をロードする
- ファイル番号を抽出する
- ファイル番号を並べ替える (インデックスを取得する)
- これらのインデックスでファイル名を並べ替える
Pythonには、ファイルのロード中にこれを実行できる何かが組み込まれていると確信しています...