之間的信息我已經在兩個不同位置的兩個Python腳本,不能移動。什麼是送兩個腳本之間信息的最佳方式是什麼?蟒蛇:發送兩個腳本
說例如在script1.py我有一個字符串,例如
x = 'teststring'
然後我需要變量'x'傳遞給script2.py,它將變量'x'保存到文本文件中?
任何想法?
之間的信息我已經在兩個不同位置的兩個Python腳本,不能移動。什麼是送兩個腳本之間信息的最佳方式是什麼?蟒蛇:發送兩個腳本
說例如在script1.py我有一個字符串,例如
x = 'teststring'
然後我需要變量'x'傳遞給script2.py,它將變量'x'保存到文本文件中?
任何想法?
你剛纔導入。
#script2.py
from script1 import x
爲了使SCRIPT2找到SCRIPT1,該SCRIPT1文件必須在module search path
編輯
下面是一個例子:
首先我們創建一個目錄,並顯示模塊搜索路徑的值:
$mkdir some_dir
$echo $PYTHONPATH
這是理智最多。然後,我們創建在該目錄初始化爲「HOLA」變量x
文件:
$cat >some_dir/module_a.py <<.
> x = "hola"
> .
我們創建另一個Python文件使用它:
$cat >module_b.py<<.
> from module_a import x
> print x
> .
如果我們運行第二個腳本,我們得到錯誤:
$python module_b.py
Traceback (most recent call last):
File "module_b.py", line 1, in <module>
from module_a import x
ImportError: No module named module_a
但是,如果我們指定some_dir在模塊搜索路徑,並重新運行,應該工作:
$export PYTHONPATH=some_dir
$python module_b.py
hola
會的工作,即使腳本是在兩個不同的位置? – Peter 2010-06-18 03:00:01
@彼得:)我知道這將是下一個問題,我正在尋找參考。我已經更新了答案。對於一個(位)更完整的示例,請參閱:http://stackoverflow.com/questions/3066126/python-sending-a-variable-to-another-script/3066158#3066158 – OscarRyz 2010-06-18 03:00:56
而不是修改PYTHONPATH,你可能想改爲在需要使用其他文件的程序中,將路徑附加到sys.path中的some_dir。這樣做的好處是不需要爲單個項目修改PYTHONPATH。 – EOL 2010-06-18 10:06:44
如何使用套接字?
這是一個關於Python中的網絡編程的好教程。它包括客戶機/服務器示例腳本:
這裏是這樣做的標準方式,你想要什麼:
import sys
sys.path.append('/path/to/the_other_module_dir')
import script1
print script1.x
事實上,如果你修改環境變量PYTHONPATH每個單個項目涉及不在同一個目錄中的模塊,則會產生不必要的長PYTHONPATH變量和腳本的用戶也將不得不修改其PYTHONPATH。上述規範的方法解決了這些問題。
或者,你可能想直接導入x
:
from script1 import x
print x
你是什麼意思是「不同的位置」嗎? – 2010-06-18 03:13:54