Найти - Пользователи
Полная версия: Оцените скрипт.Новичок
Начало » Python для новичков » Оцените скрипт.Новичок
1
teenach
Оцените скрипт
Я новичок в 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('Файл удален!')
дайте советы и тд
Romissevd
чем второй от третьего модуля отличается?
teenach
Romissevd
чем второй от третьего модуля отличается?
исправил просто не заметил
py.user.next
teenach
Оцените скрипт
Хреновый скрипт (пакет скриптов). Запустив его, дальше меню я не ушёл, потому что это было не в винде, а в линуксе. А в линуксе нет путей вида C:\… , которые ты плотно зашил в код. Естественно, сидеть и менять их, чтобы проверить, работает ли там что-то, у меня просто нет времени.

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

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

Так что тебе не надо писать всё в разных модулях, ты ещё до этого уровня и близко не дошёл, пиши всё в одном. Прочитай книгу какую-нибудь, в которой точно есть правильные примеры всяких действий, которые я описал. Наугад пытаться научиться в целях экономии времени - это большая глупость, так как ты и время потеряешь, и уровень знаний и навыков останется нулевой (сместится на 0.000001).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB