如何在 python 个文件中使用外部代码 python

how to use external code python in python files

我的脚本获取标题标签并修改它并生成一个变量 我想在主体 python 脚本上单独使用该脚本 在辅助脚本上,généraited 变量是

print (oname_cleanedup)

我想在我的脚本中使用这个变量

我的辅助脚本的代码

# -*- coding: UTF-8 -*-
import subprocess
from bs4 import BeautifulSoup
import  requests
import  re
import sys

olinks = sys.argv[1]

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537)'}
session = requests.Session()
response = session.get(olinks, headers=headers)
soup = BeautifulSoup(response.content)
oname = soup.find("title")
if oname.text.find('Saison') >= 0:
    regexp = r'(.*?\s+-\s+S)aison\s+(\d+)\s+\xc9.*?(\d+)(.*)'
    subst = "{title} {season:02d} Ep {episode}"
else:
    regexp = r'(.*?\s+-)(\s+)\xc9.*?(\d+)(.*)'
    subst = "{title} Ep {episode}"
oname_cleanedup = re.sub(regexp,
                         lambda m: subst.format(title=m.group(1), season=int(m.group(2)) if m.group(2).find(" ")==-1 else "", episode=m.group(3)),
                         oname.text)

print(oname_cleanedup)

对不起,我忘了信息

我想导入我的脚本

  import sys
    sys.path.append('files/')
    from my script.py import my fonction

juste 如何在辅助脚本上定义我的函数

如果您想将参数传递给脚本,您可以使用子进程:

from subprocess import check_output

c = check_output(["python","my_script.py",""])
print(c)
request - how to use external code python in python files - Stack Overflow 

如果您尝试 from my_script import oname_cleanedup,您将收到错误消息,因为您没有提供任何参数。你也许应该把它全部放在一个函数中,然后将 url 传递给那个函数,这样你就可以导入它了。

def function(olinks):
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537)'}
    session = requests.Session()
    response = session.get(olinks, headers=headers)
    soup = BeautifulSoup(response.content)
    oname = soup.find("title")
    if oname.text.find('Saison') >= 0:
        regexp = r'(.*?\s+-\s+S)aison\s+(\d+)\s+\xc9.*?(\d+)(.*)'
        subst = "{title} {season:02d} Ep {episode}"
    else:
        regexp = r'(.*?\s+-)(\s+)\xc9.*?(\d+)(.*)'
        subst = "{title} Ep {episode}"
    return re.sub(regexp,lambda m: subst.format(title=m.group(1), season=int(m.group(2)) if m.group(2).find(" ")==-1 else "", episode=m.group(3)),oname.text)

然后:

 from myscript import function
 oname_cleanedup = function(url)

我怀疑 beautifulsoup 可以用正则表达式做很多事情。