2017-11-21 17 views
-2

config.dat(addtofileセクション)に行を追加しようとしています。これは一度動作します。ここで2行目を追加しようとするとすぐに失敗します。python - 改行のテキストファイルに追加

raise SameFileError("{!r} and {!r} are the same file".format(src, dst)) 
shutil.SameFileError: 'backup/file1' and '/home/admin/Documents/backup/file1' are the same file 

上記のコードは、文句を言っている: 任意の提案を。

def read_config(data): 
    try: 
     dest = '/home/admin/Documents/backup/' 
     # Read in date from config.dat 
     data = open(data) 
     # Interate through list of files '\n' 
     filelist = data.read().split('\n') 
     # Copy through interated list and strip white spaces and empty lines 
     for file in filelist: 
      if file: 
       shutil.copy(file.strip(), dest) 
    except FileNotFoundError: 
     logger.error("Config file not found") 
     print ("Config File not found") 


def addtofile(add_config): 
    try: 
     with open('config.dat', 'a') as file: 
      file.write(add_config + "\n") 
    except FileNotFoundError: 
     logger.error("error message") 
     print ("error message here") 

args = vars(parser.parse_args()) 
read = read_config(args['configfile']) 
add = addtofile(args['add']) 
+0

ようこそStackOverflow。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。 MCVEコードを投稿して問題を正確に記述するまでは、効果的にお手伝いすることはできません。 投稿したコードをテキストファイルに貼り付け、説明した問題を再現できるはずです。 – Prune

答えて

1

問題は、ファイルを読み取り専用(デフォルト)モードで開いていることです。追加のために開こうとするとまだ開いています。データを読み終えたらファイルを閉じて、、次にと書いてください。

+0

通知しました...ありがとう –

関連する問題