Поскольку я могу использовать команду (cd.) в python

Я сделал программу в python клиент - сервер, но не могу использовать команду в cd в способе shell, что являются командами, которые я использую для msdos. Они сказали мне с субпроцессами, что возможно делать, я это использовал:

x = input("introduce el comando: ")
subprocess.call([x, ''], shell=True)
subprocess.call('cd ..', shell=True)

С циклом while я повторяю последовательности и ввожу команду, которую я хочу. но cd никогда не делает это мне.

использовать функцию, которая симулировала бы команду cd.

to go back in directory (this will give effect of cd.)

def back():
    path=os.getcwd()
    print path
    s=path.split('\\')
    length=len(s)
    x=0

    while x<(length-1):
        if x==0:
            back_path=s[x]+"\\"
        else:
            back_path=back_path+s[x]+"\\"
        x+=1

    os.chdir(back_path)

поскольку я могу помогать в моей программе

python самый худший язык, который я увидел, не могут даже не использовать cd.......

1
задан 01.08.2016, 19:00
3 ответа

probelma состоит в том, что subprocess.call инициализирует новый процесс, и - этот процесс, который изменяет каталог и не процесс твоего рукописного шрифта.

, Чтобы менять каталога настоящий процесс, использует os.chdir:

os.chdir("..")
2
ответ дан 24.11.2019, 13:44
  • 1
    если, когда он загрузит консоль и введет неудар в лунку, который я должен вводить? esque не хочу, чтобы он сделал это мне с рукописного шрифта, хочу ввести это я вручную – Perl 01.08.2016, 17:59
  • 2
    дело в том, что это другой процесс, который изменяет каталог. Если ты хочешь, ты можешь использовать cwd .. или в Вашем месте parsear ввод, и если он начинается с cd , выполняешь os.chdir... – rnrneverdies 01.08.2016, 18:02
  • 3
    введи команду: и #39; os.chdir (.) и #39; и #39; os.chdir и # 39; n и # 39; est pas reconnu в tant, которого commande я поместил ou externe, programme экс-и # 233; cutable ou fichier commandes. Он не оставляет меня cwd также – Perl 01.08.2016, 18:22
  • 4
    привет смотри посмотрим с функцией, что я поместил, он мог бы получать что-то – Perl 01.08.2016, 18:51

Я думаю, что ты должен импортировать ее librerГ - для os: import os И продолженный ты должен называть в нее funciГіn os.system, который является той, которая выполняет команду, тогда quedarГ - в asГ-: os.system("cd ..")

1
ответ дан 24.11.2019, 13:44
  • 1
    он это не распознает, что он вводит команду: " cd. " и #39; " cd. " и #39; n и # 39; est pas reconnu в tant, которого commande я поместил ou externe, programme экс-и # 233; cutable ou fichier commandes. вводит команду: – Perl 01.08.2016, 18:26
  • 2
    попытайся с os.system('chdir ..') – dr4kxn355 01.08.2016, 18:31
  • 3
    оно не функционирует также мм невозможен использовать cd, но я увидел в видео, что они используют его, я я не функционирую chdir. – Perl 01.08.2016, 18:41
  • 4
    привет смотри посмотрим с функцией, что я поместил, он мог бы получать что-то – Perl 01.08.2016, 18:51

импортируя она librerГ - в вас

os.system(“el codigo en bash a ejecutar”) 

в твоем случае (“ cd..”)

Есть легкая проблема и состоит в том, что, если ты стремишься к тому, чтобы выполнить это в python, установленном в Geany или algГєn framework в Windows, эта ejecuciГіn он не идет по возможности, если только не будет заблаговременно aГ±adido необходимое, чтобы иметь shell.

Pycharm он состоит my cГіmodo и fГЎcil в том, чтобы конфигурировать

Удачи!

-1
ответ дан 24.11.2019, 13:44

Теги

Похожие вопросы