Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 15.11.2021
Сообщений: 228

Переменная которая содержит признак открытого файла

08.11.2022, 23:00. Показов 699. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс, он должен содержать а) поле которое содержит признак открытого файла;
б)метод открытия файла; в) метод закрытия файла; г) метод получения признака открытого класса;
Как это реализовать можно
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.11.2022, 23:00
Ответы с готовыми решениями:

Как скопировать текст из ячейки уже открытого файла xls в ТЕКСБОКС формы открытого файла WORD?
Как скопировать текст из ячейки уже открытого файла xls в ТЕКСБОКС формы открытого файла WORD? СПАСИБО БОЛЬШОЕ.

Не содержит открытого определения для GetEnumerator
Пытаюсь прочитать шарпом по уроку веб сервис который создал на 1с Но почему то ругается на вот это в коде "foreach (var clientOrder...

В матрице размером NxM поменять местами строку, которая содержит элемент с наибольшим значением со строкой, которая содержит элемент с наименьшим
В матрице размером NxM поменять местами строку, которая содержит элемент с наибольшим значением со строкой, которая содержит элемент с...

6
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
09.11.2022, 05:50
Цитата Сообщение от ArtemGubarev Посмотреть сообщение
метод получения признака открытого класса;
- что это?
1
1 / 1 / 0
Регистрация: 15.11.2021
Сообщений: 228
09.11.2022, 13:13  [ТС]
Если знал бы не спрашивал(. Класс должен иметь метод который проверяет открыт ли файл или закрыт(можно бы сделать через исключения, но как я понимаю , этот метод должен сохранятся в поле , а исключения разве можно записать в поле/переменую?).
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
09.11.2022, 13:14
Цитата Сообщение от ArtemGubarev Посмотреть сообщение
а исключения разве можно записать в поле/переменую?).
можно.
пункт г поясни, тебя про него спросили. что такое открытый КЛАСС?
2
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
09.11.2022, 14:16
Лучший ответ Сообщение было отмечено ArtemGubarev как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class File:
    def __init__(self, path, name):
        self.path = path
        self.name = name
        self.open_status = False
    
    def open(self):
        if not self.open_status:
            print('Открываем файл')
            self.open_status = True
        else:
            print('Файл уже открыт')
            
    def close(self):
        if self.open_status:
            print('Закрываем файл')
            self.open_status = False
        else:
            print('Файл уже закрыт')
            
    def is_open(self):
        return self.open_status
    
A = File('aaa', 'bbb')
A.close()
print(A.is_open())
A.open()
print(A.is_open())
A.close()
print(A.is_open())
4
1 / 1 / 0
Регистрация: 15.11.2021
Сообщений: 228
09.11.2022, 23:06  [ТС]
Май бед, там должен был быть метод проверки открытого файла. Хотя в принципе человек сверху дал понять, как это можно реализовать

Добавлено через 27 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import os
from datetime import datetime as dt
 
class ProgramFile:
    def __init__(self,filename):
        self.set_data(filename)
    def set_data(self,filename):
        self.data=[]
        self.path=''
        self.filename=filename
        self.size=0
        self.f=0
        self.time=0
        self.open_status=False
    def open(self):
        if not self.open_status:
            print('Открываем файл')
            self.open_status = True
        else:
            print('Файл уже открыт')
 
    def close(self):
        if self.open_status:
            print('Закрываем файл')
            self.open_status = False
        else:
            print('Файл уже закрыт')
 
    def is_open(self):
        return self.open_status
    def getPath(self):
        self.path=os.path.abspath(self.filename)
        return self.path
    def getSize(self):
        return os.path.getsize(self.filename)
    def getTime(self):
        return  dt.fromtimestamp(os.path.getctime(self.filename)).strftime('%Y-%m-%dT%H:%M')
    def getName(self,p,name):
        if p=='1':
            os.rename(self.filename,name)
            return name
        else:
            return os.path.basename(self.filename)
    def getOpen(self):
            try:
                print("Файл открылся.")
            except IOError:
                print("Файл уже открыт.")
    def getData(self):
        with open(self.filename, "r") as file:
            for line in file:
                self.data.append(line)
        return  self.data
    def printData(self):
        print(self.data)
filename = input("Введите название файла с расширением:")
file=ProgramFile(filename)
way=1
while way==1:
    func=input("Введите функцию:")
    if func=='a':#work
        p=input("Введите 0 если не хотите переименовывать файл  или 1 если желаете:")
        newname=''
        if p=='1':
            newname=input("Новоё имя:")
            print(file.getName(p,newname))
        else:
            print(file.getName(p,newname))
 
    elif func =='b':#work
        print(file.getSize(), " byte")
    elif func == 'c':#work
        print(file.getPath())
    elif func == 'd':#work
        print(file.getTime())
    elif func == 'e':#not working
        print(file.getOpen())
    elif func == 'f':#not working
        file.fileOpen()
    elif func == 'g':#not working
        file.fileClose()
    elif func == 'h':#not working
        file.getData()
    elif func == 'i':#not working
        file.printData()
    else:
        print("Неверное значение")
    way = int(input("Введите 0 если хотите закончить работу с классом или 1 что бы продолжить:"))
Подкоректировал свой код. Позвольте поинтересоваться, можно ли как-то реализовать полезность этих методов, например если файл закрыт считывать данные нельзя или в данном случае "метод открытия файла" имеет суто "обверточный"(для красоты сделанный) вид?
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
10.11.2022, 08:01
ArtemGubarev, почему бы и нет. Если пользователь имеет доступ к файлам только через это приложение, то вы сами вправе устанавливать правила игры, какие вздумается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2022, 08:01
Помогаю со студенческими работами здесь

«SystemResource» не содержит определения открытого экземпляра для «GetEnumerator»
Всем привет! Подскажите как вывести информацию из переменной sysRes ? var sysRes = connection.LoadSingle<SystemResource>(); ...

Оператор foreach не работает с переменными типа так как не содержит открытого определения для getenumerator
Оператор foreach не работает с переменными типа "Лаба_2.RList" так как "Лаба_2.RList" не содержит открытого определения для...

Скопировать из файла F1 в файл F2 все строки, кроме той, которая содержит самое короткое слово
Скопировать из файла F1 в файл F2 все строки, кроме той строки, которая содержит самое короткое слово. Напечатать номер этой строки.

Скопировать из файла F1 в файл F2 все строки кроме той, которая содержит самое короткое слово
Скопировать из файла F1 в файл F2 все строки, кроме той строки, которая содержит самое короткое слово. Напечатать номер этой строки.

Пусть дано формулу, которая содержит арифметические операции +, -, *, / и не содержит скобок и функций
Пусть дано формулу, которая содержит арифметические операции +, -, *, / и не содержит скобок и функций. Определить общее количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru