在Python中,可以使用命令行參數、環境變量、文件等方式在不同的Python文件之間傳遞參數。
1. 命令行參數:可以使用`sys.argv`獲取命令行參數。`sys.argv[0]`表示當前Python文件路徑,`sys.argv[1:]`表示傳遞的額外參數。示例如下:
```python
# file1.py
import sys
def main():
print(sys.argv[0]) # 當前文件路徑
print(sys.argv[1]) # 傳遞的參數
if __name__ == "__main__":
main()
```
執行命令:`python file1.py arg1`,輸出:
```
file1.py
arg1
```
2. 環境變量:可以使用`os.environ`獲取環境變量。示例如下:
```python
# file1.py
import os
def main():
print(os.environ.get('MY_ENV_VAR')) # 獲取環境變量值
if __name__ == "__main__":
main()
```
執行命令(在Windows下):`set MY_ENV_VAR=hello`,然后執行`python file1.py`,輸出:
```
hello
```
3. 文件:可以使用文件來傳遞參數,例如將參數寫入文件,然后讀取。示例如下:
```python
# file1.py
def write_params(path, params):
with open(path, 'w') as f:
for param in params:
f.write(param + '\n')
def read_params(path):
with open(path, 'r') as f:
params = f.readlines()
return [param.strip() for param in params]
def main():
params = ['param1', 'param2', 'param3']
write_params('params.txt', params)
read_params('params.txt')
if __name__ == "__main__":
main()
```
執行`python file1.py`,然后執行`python file2.py`(在另一個Python文件中),可以讀取`params.txt`文件中的參數。
以上是一些常見的方式,在不同的場景下可以選擇適合的方式來傳遞參數。