2016-05-16 5 views
-1

現在、特定の文字列のファイルを解析し、ファイル名をその文字列に変更するスクリプトを作成中です。ただし、このスクリプトで扱うファイルにはファイル拡張子はありません。いずれのテキストエディタでも読み込み可能ですが、プロパティウィンドウには一般的な "FILE"タイプ以外のファイルタイプはありません。Python:ファイル拡張子を持たないディレクトリ(Windows)のファイルを開いて読み込むにはどうすればよいですか?

私は数日間これを研究しようとしましたが、私の問題に固有のドキュメントを見つけるのに失敗しました。 ファイルの拡張子が指定されていないファイルを開く、読み込む、名前を変更する、保存するというPythonの方法はありますか?

+0

os.rename()を試しましたか? – flyingmeatball

+0

延長があるのはなぜ重要だと思いますか? –

+0

_指定されたファイル拡張子を持たないファイルを開く、読んで、名前を変更して保存するPythonメソッドはありますか?_はい、拡張子を持つファイルを操作するのと同じ機能です。 [ファイルオブジェクト](https://docs.python.org/2/library/stdtypes.html#file-objects)と[os](https://docs.python.org/2/library/os.html)を参照してください。 )モジュール。 –

答えて

0

あなたがアクセスできるすべてのファイルopen()またはos.rename()できます。拡張子がないかどうかは関係ありません。


あなたは、その後、ちょうどすべてのファイルを開く、名前を変更し、あなたが探しているものと一致したファイルにその内容や行為を読み込むためのファイルがわからない場合。

import os 

# Get a list of all files under the current directory 
flist = [] 
for root, dirs, files in os.walk('.'): 
    flist += [os.path.join(root, f) for f in files] 

# Go over each file and see if it contains the string foo 
want = 'foo' 
targets = [] 
for path in flist: 
    with open(path) as df: 
     data = df.read() 
    if want in data: 
     targets.append(path) 
# The targets list now contains the paths of all the files that contain foo. 
0

this answerをご覧ください。

ファイルのリストを反復処理するときに、拡張子が空であるかどうかを簡単に確認できます。

def file_has_no_extension(file_path): 
    """ 
    Return true if and only if the file has no extension. 
    """ 
    filename, file_extension = os.path.splitext('/path/to/somefile.ext') 

    return not file_extension 

その他の質問についてはthisのようなチュートリアルをご覧ください。

関連する問題