将shell脚本路径引用到python
嗨,我正在尝试引用一个从shell脚本到python的shell变量路径将shell脚本路径引用到python,python,shell,pandas,path,substitution,Python,Shell,Pandas,Path,Substitution,嗨,我正在尝试引用一个从shell脚本到python的shell变量路径 test.ksh path1=/usr/bin/usr1/dev/data test.py df = pd.read_csv('%path1/testdataset1.dat') 我希望最后一次发言能够解决这个问题 df = pd.read_csv('/usr/bin/usr1/dev/data/testdataset1.dat') %path1不工作。我正在使用python 2.6,有两种方法:
test.ksh
path1=/usr/bin/usr1/dev/data
test.py
df = pd.read_csv('%path1/testdataset1.dat')
我希望最后一次发言能够解决这个问题
df = pd.read_csv('/usr/bin/usr1/dev/data/testdataset1.dat')
%path1
不工作。我正在使用python 2.6,有两种方法:
- 访问Python脚本中的环境变量:
import os path1 = os.environ.get('path1') if path1 is not None: df = pd.read_csv(os.path.join(path1, 'testdataset1.dat'))
import os, sys path1 = sys.argv[1] df = pd.read_csv(os.path.join(path1, 'testdataset1.dat'))
是一个包含从父进程传递的进程环境变量的字典。确保在shell脚本中导出所需的变量,即:os.environ
export path1=/usr/bin/usr1/dev/data
- 将
作为命令行参数传递给Python脚本:path1
import os path1 = os.environ.get('path1') if path1 is not None: df = pd.read_csv(os.path.join(path1, 'testdataset1.dat'))
您的shell脚本将调用Python,如下所示:import os, sys path1 = sys.argv[1] df = pd.read_csv(os.path.join(path1, 'testdataset1.dat'))
path1=/usr/bin/usr1/dev/data python your_script.py $path1
path1
的组件是否为所讨论的操作系统使用适当的路径分隔符。这对Python不重要,它可以处理您输入的任何路径。您可能还想使用os.path.expanduser()
。