2017-10-19 10 views
0

ファイルが存在するかどうかを確認しています。存在しない場合は、そのファイルに追加します。ユーザー指定のディレクトリにファイルフォームpythonを作成します。

私は以下のように行っています。

if os.path.exists(test + '.csv'): 
     system_file = open(test + '.csv', 'a') 
     pass 
    else: 
     system_file = open(test + '.csv', 'w') 

これは、デフォルトの場所C:/users/viru/Desktopのファイルのチェックと作成です。 C:/users/viru/testing/abcディレクトリにこれらのファイルを作成する方法はありますか

+0

'test'変数には何が含まれていますか? – user1190882

+0

@ user1190882 tablenamesのリスト –

+0

もちろん、希望するディレクトリパスから始めるには** test **を補うだけです。 – Prune

答えて

1

が簡単にする方法があります。 fileがすでに存在する場合は、のモードを使用してopenとすることは望ましくありません。これはコンテンツを消去するためです。ただし、空の(新)file a fileにはすでに追加されていて、'a'(追加)モードの内容を「追加」することができます。

だから、あなただけ行うことができます:if-statementsなし

system_file = open(test + '.csv', 'a') 

testがまだ作成されていないfileからpath場合でも、あなたは今writeそれにそれが持っているにもかかわらず、まだすることができて追加('a')モードで開かれました。

open()ファンクションhereで受け入れられている異なるmodesについて詳しく読むことができます。

希望がこれを使用します。

0

os.path.joinを使って簡単にこれを達成できます。

私は希望のディレクトリとしてH:\osディレクトリを使用し、希望のファイル名としてshovonを使用しました。自分の入力として変更します。

import os 
test = os.path.join("H:",os.sep,"os","shovon") 

if os.path.exists(test + '.csv'): 
    system_file = open(test + '.csv', 'a') 
    print("File already exists") 
else: 
    system_file = open(test + '.csv', 'w') 
    print("New file is created") 

os.sepは、オペレーティングシステムに基づいてセパレータ記号を追加するために使用されます。パスは文字列として連結され、ドライブ文字にはコロンが付いています。

関連する問題