Używam os.system()
do wykonywania poleceń powłoki wiersza poleceń systemu Windows. Chciałbym zmienić katalog bieżący Windows cmd. Oto jeden sposób to zrobić:Python: Czy można zmienić bieżący katalog powłoki wiersza poleceń systemu Windows bez zmiany bieżącego katalogu bieżącego?
os.chdir('newPath')
Ale chdir()
będzie również zmienić rzeczywiste Pythona bieżący katalog roboczy. Nie chcę zmieniać aktualnego katalogu roboczego Pythona, ponieważ chcę, aby inne części mojego skryptu działały w oryginalnym bieżącym katalogu roboczym. To, co chcę zmienić, to aktualny katalog roboczy Windowsa. Innymi słowy: chcę, aby komendy os.system()
były uruchamiane w jednym bieżącym katalogu roboczym (bieżący katalog roboczy Windows cmd), podczas gdy cokolwiek innego powinno działać w innym bieżącym katalogu roboczym (aktualny katalog roboczy Pythona).
Oto kolejna próba zmiany tylko Windows cmd bieżący katalog:
os.system('cd newPath')
jednak, że oczywiście nie działa, ponieważ tuż po wykonaniu komendy cd newPath
Windows cmd bieżący katalog jest resetowany (ponieważ nie będę używał tej samej powłoki poleceń Windows w następnym wywołaniu os.system()
).
Czy można mieć osobny bieżący katalog roboczy dla powłoki cmd systemu Windows? (oddzielny od bieżącego bieżącego katalogu roboczego).
'Chciałbym zachować bieżący katalog roboczy, gdy tylko zmienić systemu Windows cmd aktualny spisem pracy - co? –
@ BlueRaja: Masz rację. Nie byłem jasny. Po prostu zredagowałem pytanie, aby było bardziej zrozumiałe. – snakile