পাইথন শেলের বর্তমান ডিরেক্টরিটি কীভাবে জানবেন / পরিবর্তন করবেন?


219

আমি উইন্ডোজ on-এ পাইথন ৩.২ ব্যবহার করছি When আমি যখন পাইথন শেলটি খুলি, আমি কীভাবে জানতে পারি যে বর্তমান ডিরেক্টরিটি কী এবং আমি যেখানে এটির মডিউলগুলি অন্য ডিরেক্টরিতে এটি পরিবর্তন করতে পারি?


ইতিমধ্যে [এখানে] আলোচনা করা হয়েছে [1]: stackoverflow.com/questions/431684/how-do-i-cd-in-python
মুদ্দা

4
@ অ্যাস্টায়ে ১৩ - আমি মনে করি ইগনাসিওর অর্থ হ'ল ডিরেক্টরিটি আপনার মডিউল-পাথের পরিবর্তনের উদ্দেশ্যে নয়। আপনার সম্ভবত পাইথনপথ পরিবেশ পরিবর্তনশীল পরীক্ষা করা উচিত।
সাইমন

উত্তর:


299

আপনি osমডিউলটি ব্যবহার করতে পারেন ।

>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'

তবে এটি অন্য মডিউলগুলি সন্ধান করার ক্ষেত্রে: আপনি একটি পরিবেশ পরিবর্তনশীল সেট করতে পারেন PYTHONPATH, লিনাক্সের মতো এটি হবে

export PYTHONPATH=/path/to/my/library:$PYTHONPATH

তারপরে, দোভাষী এই স্থানে importএডি মডিউলগুলির জন্য অনুসন্ধান করেন । আমার ধারণা উইন্ডোজের অধীনে নামটি একই হবে, তবে কীভাবে পরিবর্তন করা যায় তা জানেন না।

সম্পাদন করা

উইন্ডোজ অধীনে:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

( http://docs.python.org/ using/windows.html থেকে নেওয়া )

সম্পাদনা 2

... এবং আরও উন্নত: ব্যবহার করুন virtualenvএবং এটি virtualenv_wrapperআপনাকে এমন একটি পরিবেশের পরিবেশ তৈরি করতে দেয় যেখানে আপনি add2virtualenvনিজের ইনস্টলেশন বা "স্বাভাবিক" কার্যকারী পরিবেশকে দূষিত না করে আপনার পছন্দ মতো মডিউল পাথ যোগ করতে পারেন ।

http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html


আপনার সম্পর্কে পরামর্শটি যুক্ত করার জন্য আপনার প্রশ্নটি সম্পাদনা করা ঠিক আছে PYTHONPATH, তবে মনে রাখবেন যে ওপি উইন্ডোজ নির্দিষ্ট করে ...
সাইমন

এবং উইন্ডোজ অধীনে পাইথনপথে সমস্যা কি? তবে আমি আমার উত্তর স্থির করেছি।
ওয়াল-ও-মাদট

উইন্ডোজ কমান্ড লাইনে বা পাইথন শেলটিতে কি পাইথনপথ সেট করতে হবে?
astay13

2
@ বিপথ ১৩: আপনার কাছে পরিবেশের পরিবর্তনশীলটিকে উপেক্ষা করার পরিবর্তে sys.pathআপনার স্ক্রিপ্টের অভ্যন্তরে সংযোজন করার বিকল্প রয়েছে option
স্টিভেন রাম্বালস্কি

3
@ অ্যাস্টায়ে ১৩: PYTHONPATHযদি আপনার একাধিক পাইথন ইনস্টল থাকে তবে বিশ্বব্যাপী সেট করবেন না (বা তাদের সাথে পাইথন বান্ডিল করে এমন কোনও প্রোগ্রাম ইনস্টল করেছেন
অন্যথায়

18

তুমি চাও

import os
os.getcwd()
os.chdir('..')

1
os.chdir ('সি: \ ব্যবহারকারীরা je আজিয়া \ ডকুমেন্টস \') ^ সিনট্যাক্স এরির: EOL স্ট্রিং আক্ষরিক স্ক্যান করার সময়
এএআই

1
@ যাইহোক, আপনি যদি ব্যাকস্ল্যাশগুলিকে নিয়মিত (অ-কাঁচা) পাইথন স্ট্রিং ব্যবহার করেন তবে আপনার দ্বিগুণ হওয়া দরকার। পাইথন আপনাকে পরিবর্তে ফরোয়ার্ড স্ল্যাশ ব্যবহার করতে দেয়। সুতরাং, হয় os.chdir('C:/Users/Ajeya/Documents'), বা os.chdir('C:\\Users\\Ajeya\\Documents'), বা os.chdir(r'C:\Users\Ajeya\Documents')
চার্লস ডাফি

এটি লক্ষ্য করা ভাল হবে যে আপনি os.getcwd()কেবলমাত্র ডিবাগিংয়ের উদ্দেশ্যে কল করেন যাতে কার্যত ডিরেক্টরিটি পরিবর্তন করার আগে আমরা এটি দেখতে পারি। আসলে পরিবর্তনটি করার কোডটি cwdকেবলমাত্রos.chdir('..')
টুথপিক অ্যানিমোন

15
>>> import os
>>> os.system('cd c:\mydir')

আসলে, os.system()উইন্ডোজ কমান্ড প্রম্পট কার্যকর করতে পারে যে কোনও কমান্ড কার্যকর করতে পারে, শুধু ডির পরিবর্তন করে না।


ফাইল "<stdin>", লাইন 1 ওএস.সিস্টেম ('সিডি সি: \ ব্যবহারকারী \ আজিয়া \ ডকুমেন্টস \') ^ সিনট্যাক্স এরর: EOL স্ট্রিং আক্ষরিক স্ক্যান করার সময়
এএআই

6

পাইথনের মডিউল সন্ধানের জন্য বর্তমান ডিরেক্টরি পরিবর্তন করা উপায় নয়।

বরং, পাইথন কীভাবে মডিউলটি আমদানি করতে পারে তা কীভাবে মডিউল অনুসন্ধানের জন্য ডকগুলি দেখুন।

এখানে স্ট্যান্ডার্ড মডিউল বিভাগ থেকে একটি প্রাসঙ্গিক বিট দেওয়া হয়েছে :

ভেরিয়েবল sys.path হল স্ট্রিংগুলির একটি তালিকা যা মডিউলগুলির জন্য দোভাষীদের অনুসন্ধানের পথটি নির্ধারণ করে। এটি পরিবেশগত পরিবর্তনশীল পাইথনপথ থেকে নেওয়া বা কোনও পাইথনপথ সেট না করা থাকলে কোনও বিল্ট-ইন ডিফল্ট থেকে নেওয়া ডিফল্ট পথে শুরু করা হয়। আপনি মান তালিকা অপারেশন ব্যবহার করে এটি পরিবর্তন করতে পারেন:

>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')

বর্তমান ডিরেক্টরিটি পাওয়া এবং সেট করা সম্পর্কে আপনার মূল প্রশ্নের উত্তরে:

>>> help(os.getcwd)

getcwd(...)
    getcwd() -> path

    Return a string representing the current working directory.

>>> help(os.chdir)

chdir(...)
    chdir(path)

    Change the current working directory to the specified path.

এই উত্তরটি সোনার .. কেবল আপনার প্রকল্প ডিরেক্টরিটি যুক্ত করুন:import sys sys.path.append('/home/g/PycharmProjects/your_project/')
gies0r

6

পাইথনের বর্তমান ওয়ার্কিং ডিরেক্টরিটি পরিবর্তন করার সবচেয়ে সহজ উপায় হ'ল 'ওএস' প্যাকেজটি ব্যবহার করা। নীচে উইন্ডোজ কম্পিউটারের জন্য একটি উদাহরণ রয়েছে:

# Import the os package
import os

# Confirm the current working directory 
os.getcwd()

# Use '\\' while changing the directory 
os.chdir("C:\\user\\foldername")

"\\" ব্যবহার এবং উইন্ডোজ কম্পিউটার সম্পর্কে স্পষ্টতা। তবে আমি স্বীকৃত উত্তরটি আরও বর্ণনামূলক বলে সম্মত।
সামবিট

4

আপনি যদি import osআপনি ব্যবহার করতে পারেন os.getcwdসাম্প্রতিক কাজ করা পেতে হয়, এবং আপনি ব্যবহার করতে পারেন os.chdirআপনার ডিরেক্টরির পরিবর্তন করতে


0

আপনি এটি চেষ্টা করতে পারেন:

import os

current_dir = os.path.dirname(os.path.abspath(__file__))   # Can also use os.getcwd()
print(current_dir)                                         # prints(say)- D:\abc\def\ghi\jkl\mno"
new_dir = os.chdir('..\\..\\..\\')                         
print(new_dir)                                             # prints "D:\abc\def\ghi"

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.