2015-05-20 3 views
-3

У меня есть скрипт python на веб-странице, который должен открыть один файл gnuplot.gp и скопировать его содержимое в мой «final.gp». Но это не сработает. У меня все правильно.Не удается скопировать файл на веб-страницу

Код:

file = open('gnuplot.gp','r') 
plot = file.read() 
file.close() 


file = open('final.gp','w+') 
file.write('%s' %plot) 
file.close() 
+2

Можете ли вы использовать ['shutil.copyfile()'] (https://docs.python.org/2/library/shutil.html)? –

+0

при условии, что у пользователя нет разрешения на создание файла, где бы вы ни запучали этот ... –

+0

Что-то общее с файлом факта содержит двоичные данные? Почему не просто 'file.write (plot)'? –

ответ

0

Существует две вещи, чтобы попробовать. Во-первых, это (что не очень надежный метод из-за проблем с размером файла);

file = open('gnuplot.gp','r') 
plot = file.read() 
file.close() 


file = open('final.gp','w') 
file.write(plot) 
file.close() 

Или, другой, как и другие предложили, shutil.

import shutil 
shutil.copyfile('gnuplot.gp','final.gp') 

Конечно, это все допущение, что у вас есть разрешения. Если вы получите [Access Denied], вам нужно будет либо удалить final.gp, а затем скопировать и/или убедиться, что целевой каталог или gnuplot.gp не доступен только для чтения. Если вы получите пустой файл после первого метода, это связано с тем, что python не может обрабатывать многие типы файлов, поэтому shutil будет способом.