2013-12-13 83 views
0

我有水果蟒蛇從主文件

主文件一起串沒有換行符

例子:

"banana" 

"grape" 

"watermelon" 

"melon" 

,什麼拯救那麼我不同的文件與模板

我使用此代碼:

f = open('input.txt', 'r') 
for line in f: 
    k=open('output folder\\'+line+'.txt', 'w') 
    k.write('a'+line+'b')' 

但不是獲取文件banana.txt與文本abananab

我得到一個錯誤:

OSError: [Errno 22] Invalid argument: 'output\\"banana"\n.txt' 

因爲代碼創建一個換行符\n

我該如何解決這個問題?

+0

'line.strip()'也許吧?你可能也想'.strip'引號...... – mgilson

回答

0

更改文件公開聲明:

open('output\ folder\\'+line.strip()[1:-1]+'.txt', 'w') 

或只使用帶:

open('output\ folder\\'+line.strip('"\n')+'.txt', 'w') 
+2

或者只是'line.strip('\ n「')'。 – Blender

0
`for line in f: 
    line = line.replace('\n', '') 
    ...` 

`for line in f: 
    line = line[:-1] 
    ...` 

`for line in f.readlines(): 
    ...` 

`for line in list(f): 
    ...` 

docs

f.readline()讀取一行文件;一個換行符(\ n)留在字符串的末尾,並且如果該文件不以換行符結束,則僅在文件的最後一行中省略換行符(\ n)。這使得返回值明確;如果f.readline()返回一個空字符串,文件的末尾已經到達,而空行用'\ n'表示,這是一個只包含一個換行符的字符串。 () - >注意readins中的's'