2013-03-05 19 views
1

我有一個變量說哪個初始化爲unicode字符串的Python:Unicode轉換文件指針

f= u"<open file 'C:\\IVR\\log\\IVR.log', mode 'r' at 0x02A8AB20>" 

我想將其轉換爲一個文件指針型F。可能嗎?即

f=<open file 'C:\\IVR\\log\\IVR.log', mode 'r' at 0x02A8AB20> 
+0

你是怎麼得到第一個'f'變量的? – eumiro 2013-03-05 14:31:13

+0

從django的意見上午使用simplejson.dumps傳遞文件指針f作爲字符串到我的jQuery。然後在ajax請求上,jquery將同一個f作爲unicode字符串發送回我的視圖。現在我需要將它轉換回文件指針。 – arjun 2013-03-05 14:33:42

+0

這聽起來像是一個攻擊的邀請。有人修改你的JSON可以讓應用程序打開任何任意文件。 – 2013-03-05 14:49:11

回答

3

而不是在您的JSON中使用f,使用f.name這將只是該文件的名稱。然後,您可以輕鬆重新打開它。

如果您希望程序仍然打開文件,您可以創建一個字典,其中文件的名稱作爲鍵和文件對象作爲值。這實際上更安全,因爲攻擊者無法打開任意文件。

3

您不能將字符串轉換爲文件文件指針對象。你可以做的最好的是解析出文件名並重新打開文件。

+0

好的...... – arjun 2013-03-05 14:42:39