質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

603閲覧

pythonでディレクトリを移動したい

rrii

総合スコア3

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/11 17:17

前提・実現したいこと

python3.9.2でディレクトリを1つ上の階層に移動したいです。
(dataディレクトリからRPi-IREXディレクトリに移動したい)
しかし、プログラム実行すると以下のようにディレクトリが移動されたと表示されるのですが、
pwdで確認するとディレクトリが変わっていません。
分かる方いましたらお力添えよろしくお願いします。

実行コマンド

----berrypi:/RPi-IREX/data $ python3 test2.py
/home/pi/RPi-IREX
----berrypi:
/RPi-IREX/data $ pwd
/home/pi/RPi-IREX/data

該当のソースコード

import os
path = os.getcwd()
os.chdir('../')
print(os.getcwd())

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

  • pwdで確認するとディレクトリが変わっていません。

Python固有の問題ではなく、OSのプロセスの仕様です。

例えば、bashを使ってディレクトリを変更しようとしても、以下のように同じ事が起きます。

Shell

1$ pwd 2/home/pi/RPi-IREX 3$ bash 4$ pwd 5/home/pi/RPi-IREX 6$ cd .. 7$ pwd 8/home/pi 9$ exit 10exit 11$ pwd 12/home/pi/RPi-IREX

cdコマンドでディレクトリが移動できるのは以下のようになっているからです。

Shell

1$ file /usr/bin/cd 2/usr/bin/cd: POSIX shell script, ASCII text executable 3$ cat /usr/bin/cd 4#!/bin/sh 5builtin cd "$@"

投稿2021/12/11 23:33

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rrii

2021/12/12 03:15

勉強になりました。 ご親切にありがとうございます。
guest

0

別プロセスが作られてpythonが実行されますんで、その中で変更しても、そのプロセスが終わればもとに戻ります

投稿2021/12/11 22:56

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rrii

2021/12/12 03:16

なるほどです。 ありがとうございます。
y_waiwai

2021/12/12 04:30

まあ、もとにもどるというより、 別世界が作られてそこで走る、って方が正確です 元の世界には影響がない、ってはなしですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問