Python获取相对于命令行用户的文件

时间:2017-04-04 02:12:10

标签: python file command-line

我正在编写一个别名的python脚本,并从各种目录运行:

# working
python myScript.py file.txt

或:

# not working
python script/myScript.py other_file.txt

我正在引用这样的文件输入:

file = sys.argv[1]

如何让脚本根据命令行用户位置查找文件,而不是相对于脚本的位置?

1 个答案:

答案 0 :(得分:2)

试试这个:

import os

print(os.getcwd())

这将为您提供当前的工作目录(cwd)。使用os.path.join等其他功能,您可以实现您想要的功能。

完整示例:

import os
import sys

def main():
    if len(sys.argv) < 2:
        print('Not enough arguments.')
        sys.exit(1)

    print('Current working directory: %s' % os.getcwd())
    print('What you want: %s' % os.path.join(os.getcwd(), sys.argv[1]))

if __name__ == '__main__':
    main()

尝试使用它。