открытие файла - PullRequest
       2

открытие файла

0 голосов
/ 23 июня 2019

Я хотел бы написать консольную программу, которая читает содержимое из файла (.txt).Однако у меня возникла проблема после выбора «2» из меню (загрузка из файла).Я получаю ошибку, с которой не могу разобраться.

def open(args):
    path = 'C:/Users/Tom/Desktop/python/crc/crc2/demofile.txt'
    plik = open(path,'r')
    content = plik.read()
    print(content)

def menu(args):
    print("MENU \n")
    print("1: Ciąg CRC podany z klawiatury \n2: Ciąg CRC wczytany z pliku")

    m = input()
    arg2 = 0
    if m=='1':
        cal(args)
    elif m =='2':
        open(args)
    else:
        print("Podaj poprawną wartość !!!")
        menu(args)
    return 0

ОШИБКА:

Exception has occurred: TypeError
open() takes 1 positional argument but 2 were given
  File "C:\Users\Tom\Desktop\python\crc\crc2\crc.py", line 8, in open
    plik = open(path,'r')
  File "C:\Users\Tom\Desktop\python\crc\crc2\crc.py", line 37, in menu
    open(args)
  File "C:\Users\Tom\Desktop\python\crc\crc2\crc.py", line 48, in main
    menu(args)
  File "C:\Users\Tom\Desktop\python\crc\crc2\crc.py", line 55, in <module>
    sys.exit(main(sys.argv))

1 Ответ

0 голосов
/ 23 июня 2019

Это потому, что вы переопределили open, поэтому вызов open подобен вызову вашей пользовательской функции. Вместо этого импортируйте модуль builtins, чтобы избежать искажения имен:

import builtins

def open(args):
    path = 'C:/Users/Tom/Desktop/python/crc/crc2/demofile.txt'
    plik = builtins.open(path,'r') # Calling the built-in open instead of your function
    content = plik.read()
    print(content)

def menu(args):
    print("MENU \n")
    print("1: Ciąg CRC podany z klawiatury \n2: Ciąg CRC wczytany z pliku")

    m = input()
    arg2 = 0
    if m=='1':
        cal(args)
    elif m =='2':
        open(args)
    else:
        print("Podaj poprawną wartość !!!")
        menu(args)
    return 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...