2014-01-23 102 views
0

我想在腳本上工作,但我被困在一個地方。如何在文件中逃避反斜槓

例如,爲了得到一個PHP輸出我用..

str_php = """ 
<?php 
echo "Hello World!"; 
?>""" 

php_file = open("index.php", "w") 
php_file.write(str_php) 
php_file.close() 

好了,我得到的輸出,因爲它是....

<?php 
echo "Hello World!"; 
?> 

所以我的PHP代碼運行。一切都好,直到這裏。但是,這個問題從當我嘗試使用"\""\n""\r"

str_php = """ 
<?php 
echo "Hello World!"; \n echo "How are you"; \n echo "God bless you"; 
?>""" 

php_file = open("index.php", "w") 
php_file.write(str_php) 
php_file.close() 

開始但在這裏我不明白的原樣輸出。

<?php 
echo "Hello World!"; 
echo "How are you"; 
echo "God bless you"; 
?> 

而「\」它只是消失......在輸出。例如,我想的PHP超級鏈接像輸出...

str_php = """<?php 
print("<a href=\"$dirArray[$index]\">$dirArray[$index]</a>"); 
?>""" 

php_file = open("index.php", "w") 
php_file.write(str_php) 
php_file.close() 

和輸出我得到的是...

<?php 
print("<a href="$dirArray[$index]">$dirArray[$index]</a>"); 
?> 

的「\」被失蹤,PHP不運行產生錯誤。

print("<a href=\"$dirArray[$index]\">$dirArray[$index]</a>") - Original 
print("<a href="$dirArray[$index]">$dirArray[$index]</a>") - python output 

任何人都可以幫我「\」,「\ n」,「\ r」?

+1

你有嘗試在前面用'r'聲明你的字符串嗎? 'r'''在這裏寫你的字符串'''' –

回答

3

只要使用 「\」 來轉義字符 「\」。

既然是共同的希望有包含幾個「\」長串,巨蟒還允許一個 前綴字符串打開引號如果AR r(「原始」) - 內部, 一個字符串,沒有逃脫的「\ n」 來CHR(10)或 「\ t」 之CHR(9)情況:

>>> print (r"Hello \n world!") 
Hello \n world! 
0

你需要逃避你 「\」 用一個反斜槓書面方式爲 「\\」。

-1

如果使用"\n"它會被解析並進行換行。嘗試使用'\n''\n'中包含的字符串不會被解析,並且應該按照您的需要打印出來。

+0

問題出在Python代碼中,而不是PHP代碼。 Python不會以不同的方式處理單引號和雙引號,除非您需要在其中跳過相同類型的引號。 – geoffspear

+0

好的。爲什麼使用Python創建PHP而不使用PHP呢? ;) – Ben

+0

這實際上是一個相當好的問題。 :) – geoffspear