the ! to access the shell is not filling scoped variables.
def test():
defvar='true'
!echo def Test worked? {defvar}
test()
# def Test worked? {defvar}
class cTest:
classvar='true'
def test(self):
!echo class Test worked? {self.classvar}
ctest = cTest()
ctest.test()
I feel this should be rather high priority since this issue makes writing Ipython shell scripts a PITA..
IRC dump
[10:45] == steverweber [81617c7d@gateway/web/freenode/ip.129.97.124.125] has joined #ipython
[10:46] <steverweber> using ipython3
[10:46] <steverweber> def test():
[10:46] <steverweber> defvar='true'
[10:46] <steverweber> !echo def Test worked? {defvar}
[10:46] <steverweber> test()
[10:47] <steverweber> :( def Test worked? {defvar}
[10:48] <steverweber> how do i pass function or class scope variables to the shell?
[10:50] <btiffin> Try !echo "def Test worked? {defvar}"
[10:52] <steverweber> same.
[10:53] <btiffin> Hmm, worked here. Even without quotes.
[10:54] <steverweber> r u running trunk?
[10:54] <steverweber> ill try the latest release.. brb
[10:55] <btiffin> 0.12 from the Fedora 16 repos
[10:56] <steverweber> one more test plez
[10:56] <steverweber> ---------
[10:56] <steverweber> class cTest:
[10:56] <steverweber> classvar='true'
[10:56] <steverweber> def test(self):
[10:57] <steverweber> !echo class Test worked? {self.classvar}
[10:57] <steverweber> ctest = cTest()
[10:57] <steverweber> ctest.test()
[10:57] <steverweber> -----------
[11:01] <jtaylor> you could just do os.system("echo class Test worked? " + defvar)
[11:02] <steverweber> yes... but it would be nice if the ! worked...
[11:04] <jtaylor> not sure how that works, I guess it just picks the variable from the global namespace
[11:04] <jtaylor> so doesn#T work for local ones
[11:05] <steverweber> i think btiffin was mistaken and never preformed the function scope test
[11:06] <steverweber> could you confirm that it as well will not work\
[11:07] == zendeavor has changed nick to meskaprune
[11:07] <jtaylor> it doesn'T work with git, I also don't think it works with 0.12.1 but I can try
[11:07] <steverweber> i tried latest.. it dont work
[11:08] == meskaprune has changed nick to meskaHAIRYLEGS
[11:09] <jtaylor> doesn't work in 0.12.1
[11:09] == meskaHAIRYLEGS has changed nick to automage
[11:10] <steverweber> adding as issue to git hub
[11:15] <btiffin> steverweber: could be, plus I'm 2.7.3 and not 3, so I'm likely chucking red herrings
[11:15] <steverweber> thanks
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4