2015-12-10 6 views
1

Мне нужно открыть файл в папке, и это должно работать, но \ приводит к тому, что строка закрывается, поэтому переменная Me является зеленой, если она не должна меня. Как я могу это исправить, мне нужно остановить \ от закрытия строки или прямо в папку без использования символа \. Большинство переменных, которые я использовал, кажутся случайными, это связано с тем, что я не хочу, чтобы он был похож на реальные функции, чтобы его смешивать, запутывая меня или других.Как остановить a от закрытия строки

Me = Jacob #Variable me with Jacob in it 
def God():#creates function called god 
    File = open ("Test\" + Me + ".txt","r")#opens the Jacob file in the test folder. 
    Door = ""#creates door variable 
    Door = File.read().splitlines()#sets what is in Jacob file to be in Door variable 
    print (Door)#prints the varible door 
God()#does go function 
+1

Используйте косую черту в пути к файлам. Это упростит ситуацию. – khelwood

ответ

5

Вам нужно, чтобы избежать обратной косой черты:

"Test\\" 

Или просто использовать прямой слэш "Test/"

Вы также можете позволить os.path.join позаботиться о присоединении свой путь:

import os 

pth = os.path.join("Test", "{}.txt".format(Me)) 

with open(pth) as f: 
    Door = f.readlines() 

Я также рекомендую использовать with для открытия ваши файлы, и если вы хотите получить список строк, которые можно назвать readlines, если вы действительно хотите, переводы строк удалены вы можете вызвать map на объект файла или использовать список Комп:

with open(pth) as f: 
    Door = list(map(str.rstrip, f)) 

Или:

 Door = [ln.rstrip() for ln in f] 
+0

Как насчет сырых строк? –

+1

@PeterWood, на самом деле это не работает в случае OP, вы получите синтаксисError. –

Смежные вопросы