怎么if __name__ == "__main__":
办?
# Threading example
import time, thread
def myfunction(string, sleeptime, lock, *args):
while True:
lock.acquire()
time.sleep(sleeptime)
lock.release()
time.sleep(sleeptime)
if __name__ == "__main__":
lock = thread.allocate_lock()
thread.start_new_thread(myfunction, ("Thread #: 1", 2, lock))
thread.start_new_thread(myfunction, ("Thread #: 2", 2, lock))
Run Code Online (Sandbox Code Playgroud) 如何制作一个python文件来运行另一个?
例如,我有两个.py文件.我想要运行一个文件,然后让它运行另一个.py文件.
我一直在整个文档,似乎没有办法做到这一点,但是:
有没有办法将argparse与任何字符串列表一起使用,而不是仅使用sys.argv?
这是我的问题:我有一个看起来像这样的程序:
# This file is program1.py
import argparse
def main(argv):
parser = argparse.ArgumentParser()
# Do some argument parsing
if __name__ == '__main__':
main(sys.argv)
Run Code Online (Sandbox Code Playgroud)
从命令行直接调用此程序时,此方法正常.但是,我有另一个python脚本,它使用不同的命令行参数运行此脚本的批处理版本,我正在使用这样:
import program1
arguments = ['arg1', 'arg2', 'arg3']
program1.main(arguments)
Run Code Online (Sandbox Code Playgroud)
我仍然希望能够解析参数,但argparse自动默认使用sys.argv而不是我给它的参数.有没有办法传入参数列表而不是使用sys.argv?
我开发了执行某些操作的python 3.6.6控制台应用程序。这是我在此app.py文件中使用的结构:
#!/usr/bin/python3
import threading
import time
# My app content
if __name__ == '__main__':
# all may code is in here
Run Code Online (Sandbox Code Playgroud)
现在,我需要在执行其他操作的父应用程序中调用同一应用程序。我要在parent_app.py文件中放什么:
#!/usr/bin/python3
#some imports...
#the call to the app.py, but how since app.py hasn't got functions in it???
Run Code Online (Sandbox Code Playgroud)
感谢您对这个基本问题的帮助...正如您所见,我是Python新手;-)