Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 25, 2016 16:06:56

teenach
Зарегистрирован: 2016-12-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Оцените скрипт.Новичок

Оцените скрипт
Я новичок в python вот что я сделал
коротко скрипт создает файлы записывает в них инфу, удаляет файлы, создает и очищает файлы
Моя первая работа, сделал просто что бы научится работать с файлами.
Первый главный модуль

 import glfile
import filecreaty
menutext = """MENU------------->
-->Записать в главный файл-[1]
-->Создать файл-[2]
-->Записать текст в файл-[3]
-->Очистить файл[4]
-->Удалить файл-[5]"""
print(menutext)
a = input('Выберите число:')
if a =='1':
    glfile.imortextl()
    glfile.readlist01()
if a =='2':
    filecreaty.file()
if a == '3':
    filecreaty.fileedit()
if a == '4':
    filecreaty.fileclear()
if a == '5':
    filecreaty.filedelit()
Второй модуль для главного файла
 def imortextl():
    with open('list01.txt') as fp:
        for line in iter(fp.read, ''):
            print(line)
    f = open('list01.txt', 'a')
    i = input('Введите текст:')
    f.write('\n' + i)
    print('Загрузка текста прошла успешно!')
def readlist01():
    with open('list01.txt') as fp2:
        for line2 in iter(fp2.read, ''):
            print(line2)
Третий последний модуль
 import os
def file():
    file1 = input('Введите название файла: (название на должно повторятся)')
    file2 = 'C:/prog/text/' + file1 + '.txt'
    file3 = open (file2,'w')
    file3.close()
def fileedit():
    file4 = input('Введите название файла для редактирования:')
    file5 = 'C:/prog/text/' + file4 + '.txt'
    with open(file5) as filee:
        for edit in iter(filee.read, ''):
            print(edit)
    file6 = open(file5,'a')
    file7 = input('Введите текст:')
    file6.write('\n' + file7)
    file6.close()
    print('Загрузка текста прошла успешно!')
    print('Проверка')
    with open(file5) as filee2:
        for edit2 in iter(filee2.read, ''):
            print(edit2)
def fileclear():
    file8 = input('Введите название файла:')
    file9 = 'C:/prog/text/' + file8 + '.txt'
    file10 = open (file9,'w')
    file10.close()
    print('Файл очищен!')
def filedelit():
    file11 = input('Введите название файла:')
    file12 = 'C:/prog/text/' + file11 + '.txt'
    file13 = os.path.join(os.path.abspath(os.path.dirname(__file__)), file12)
    os.remove(file13)
    print('Файл удален!')
дайте советы и тд

Отредактировано teenach (Дек. 25, 2016 18:18:10)

Офлайн

#2 Дек. 25, 2016 17:18:19

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Оцените скрипт.Новичок

чем второй от третьего модуля отличается?

Офлайн

#3 Дек. 25, 2016 18:19:09

teenach
Зарегистрирован: 2016-12-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Оцените скрипт.Новичок

Romissevd
чем второй от третьего модуля отличается?
исправил просто не заметил

Офлайн

#4 Дек. 26, 2016 04:01:27

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Оцените скрипт.Новичок

teenach
Оцените скрипт
Хреновый скрипт (пакет скриптов). Запустив его, дальше меню я не ушёл, потому что это было не в винде, а в линуксе. А в линуксе нет путей вида C:\… , которые ты плотно зашил в код. Естественно, сидеть и менять их, чтобы проверить, работает ли там что-то, у меня просто нет времени.

teenach
C:/prog/text/
Да и даже если бы это всё под виндой происходило, кто тебе даст доступ на запись в C:\ ? Грамотный админ не даст ни писать туда, ни засорять корень всякими директориями левыми типа этой prog. Даже когда этот админ - ты сам. Корень должен быть чистым, а скрипт должен запускаться из под обычного пользователя. Если же ты под администратором сидишь, то у тебя неправильно организована политика безопасности и всё закончится каким-нибудь шифрованием диска и переустановкой винды, или какими-нибудь казино при открытии любой страницы в браузере.
Не у всех так ненастроено, тогда как твои скрипты по своим действиям не требуют каких-то особых прав.

Что по коду сказать, который я даже не запустил, - файлы ты читаешь неправильно, открываешь файлы иногда правильно (но редко), пути склеиваешь неправильно, имена переменных у тебя сквозные (хотя с чего, если каждая функция определяет своё пространство) и меню у тебя срабатывает только один раз, хотя должно быть зациклено.

Так что тебе не надо писать всё в разных модулях, ты ещё до этого уровня и близко не дошёл, пиши всё в одном. Прочитай книгу какую-нибудь, в которой точно есть правильные примеры всяких действий, которые я описал. Наугад пытаться научиться в целях экономии времени - это большая глупость, так как ты и время потеряешь, и уровень знаний и навыков останется нулевой (сместится на 0.000001).



Отредактировано py.user.next (Дек. 27, 2016 01:42:37)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version