Использование объектов в другом классе в Python - PullRequest
0 голосов
/ 13 января 2010

В коде (псевдо), как это

def path():
    dirList = ['c:\\', 'y:\\', 'z:\\']
    home_folder = 'peter.txt'
    complete = [s + home_folder for s in dirList]
    print complete

def fileWrite():
    filename = 'c:\peter.txt'
    text = 'Hello World'
    file = open(filename, 'w')
    file.write(text)
    file.close()

Я могу заставить оба работать. Я хочу, чтобы все элементы из первого были повторены и запущены во втором. Я не совсем уверен, как это сделать. Любая помощь, высоко ценится.

Ответы [ 2 ]

1 голос
/ 13 января 2010
import os

def paths(filename):
    dirList = ['c:\\', 'y:\\', 'z:\\']
    complete = [os.path.join(s, filename) for s in dirList]
    return complete

def fileWrite():
    for each_file in paths('c:\\peter.txt'):
        text = 'Hello World'
        file = open(each_file, 'w')
        file.write(text)
        file.close()

Или, как указывает Ipthnc ниже, функция paths может быть сокращена до:

def paths(filename):
    return [os.path.join(s, filename) for s in ('c:\\', 'y:\\', 'z:\\')]
1 голос
/ 13 января 2010

Если я правильно понял вопрос - вы можете добавить в fileWrite дополнительный параметр, например fileWrite (имя файла), и просто выполнить итерацию по «полной» последовательности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...