2015-12-16 37 views
16

Son zamanlarda, PyCharm kullanırken kodumdaki göreli yolları kullanamıyorum. Örneğin, basit bir open('test.txt', 'r') çalışmayacak - bunun üzerine dosyanın çalışan pod dosyasıyla aynı düzeyde olduğundan eminim. PyCharm bu hatayı iade edecektir.PyCharm geçerli çalışma dizini

  • test.txt
  • ./test.txt için Kapanış projesini değiştirme .idea klasörü silme koduyla klasörü açın:

    FileNotFoundError: [Errno 2] No such file or directory:

    StackOverflow'daki çevrimiçi cevapları okuduktan sonra dahil birden çok seçenek çalıştılar.

  • En son PyCharm sürümünü yüklemenin yanı sıra yeniden yükleme.
  • Önbelleklerin geçersiz kılınması ve yeniden başlatılması.

Bu seçeneklerin hiçbiri benim için çalışmamış. PyCharm'ın mevcut çalışma dizinini yenilemesine (ya da halihazırdaki çalışma dizininin nerede olduğunu düşündüğünü görmeye) anlatabileceğim bir şey var mı?

Şimdiden teşekkürler!

Düzenleme: Komut dosyasını bir uçbirim penceresinde çalıştırmanın işe yarayacağını unutmayın. Bu PyCharm ile bir sorun gibi görünüyor ve betik değil.

+2

Eğer ' – Dan

+0

İlginç, o C' de olduğunu söylüyor anki çalışma dizinini 'ithalat os baskı (os.getcwd()) görmek için komut bu koyabilirsiniz (Bu Mac'te ise): \ Program Dosyaları (x86) \ JetBrains \ PyCharm 5.0.2 \ jre \ jre \ bin' – qwertyuip9

+0

Komut satırında yükseltilmiş izinlerle mi çalışıyorsunuz? Eğer bir Unix benzeri sistemde iseniz o zaman – Dan

cevap

16

Pycharm 4.5'im var, bu yüzden işler biraz değişmiş olabilir.

Ayarlar'a gidip deneyin> Proje> Bu iletişim kutusunda Proje Yapısı

, içindeki kaynak kodu vardır Klasörünüze tıklatın ve sonra "kaynak" klasör olarak not etmek menüde mavi klasörü tıklayın. https://www.jetbrains.com/pycharm/help/content-root.html

+0

Bu sadece bulduğum benzer bir düzeltmedir ([link here] (http://stackoverflow.com/ sorular/30353714/python-flask-app-from-from-yanlış-klasör-sonra-by-pycharm-on-127-0-0-1)), projeyi tıklayarak çalışma dizini eklemek zorunda kaldı Sağ üstte ve yapılandırmalarını düzenleyin. Bu ekstra adımı eklemek zorunda olmak sezgisel karşıt görünüyor - belki de ilk etapta projeyi oluştururken bazı sorunlar vardı. En yakın olduğu için sizinkileri doğru olarak işaretleyeceğim! – qwertyuip9

+0

Ne yazık ki bu, OSX'de benim için işe yaramadı - benim projemde bir kaynak klasör olarak ayarlanmış olmama rağmen, komut dosyamın olduğu yerde Runner betiği bulamadı.Bulduğum tek çözüm, çalışma dizinini mutlak yola ayarladığınız yer olan @ andere'in altındaydı. Proje taşınırken bu kırılırsa emin değilim ... – meowsqueak

+0

@meowsqueak Çalıştığına sevindim ... Senin probleminle de tipik olarak biz 'os.chir (directory_path) '' den ayrılan bir dizin yolu kullanarak __file__'. Bunu yapmak, betiği bir IDE'nin dışında çalıştırırken ve komut dosyasının ve metin dosyasının bulunduğu yerden başka bir dizinden çağrılması durumunda yardımcı olur. – Dan

3

__file__ yolunu dosyaya atıfta: Bu İşte pycharm

yılında

yol sorunları bir sürü giderir "içerik köklerine" link olduğuna inanıyoruz.

import os 

dirpath = os.path.dirname(__file__) 
filepath = os.path.join(dirpath, 'test.txt') 
open(filepath, 'r') 
+0

Çözümünüzü benimkinden daha iyi seviyorum :) Ben haha ​​ – Dan

+0

teşekkürler Pycharm seviyesinde tutmaya çalışıyordum! Benim problemim PyCharm'a daha fazla odaklanmıştı ama os modülünü de kullanabileceğimi bilmek güzeldi! – qwertyuip9

18

Değişim: Çalıştır> Düzenle Yapılandırmaları> Çalışma dizini, belirli bir proje için çalışma dizinini belirler Yani aynı dizinde aşağıdaki başvurmak için dosyayı kullanabilirsiniz.

İlgili konular