2013-11-02 3 views
0

новый для Python здесь.Скопируйте данные из текстового файла в каталог в Linux с помощью Python

Я хотел бы знать, как читать данные из текстового файла и копировать его в существующий каталог в Linux.

Пример:

/home/shrubbery.txt является файл в моей операционной системе Linux, содержащий .fits файлы

в питона

file = open('/home/shrubbery.txt','r') 
datalist = file.readlines() 

теперь я хочу, чтобы скопировать содержимое этого файла в каталог в Linux под названием /home/farted_in_your_general_direction

так что я думаю:

import shutil 

Теперь я не уверен, куда идти отсюда, попробовал несколько вещей, но продолжаю получать ошибки, которые я не совсем понимаю.

Я ищу что-то вроде:

for i in datalist: 
    shutil.copy(i,'/home/farted_in_your_general_direction') 

любые идеи ??? Я в основном хочу получить файлы .fits в каталоге.

Заранее спасибо :)

ответ

1

file.readlines список возврата строк с символами новой строки. Таким образом, вы должны линять новые строки.

for path in datalist: 
    shutil.copy(path.rstrip(), '/home/farted_in_your_general_direction') 

Вместо использования readlines используйте for ... in <file> и использовать with заявление. readlines читает все строки в памяти, и вам не нужны все эти строки.

import shutil 

with open('/home/shrubbery.txt') as f: 
    for path in f: 
     shutil.copy(path.rstrip(), '/home/farted_in_your_general_direction') 
+0

Благодаря falsetru, но когда я делаю, что я получаю сообщение об ошибке, говоря: /// [Errno 2] Нет такого файла или каталога: «a_file_that_does_exist.fits» /// Файл, что требования об ошибках не существует это первый вызванный из списка, он определенно существует. – Derek

+0

Любые идеи, что может быть причиной этого или как обойти его? Очень признателен . – Derek

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