从文件 (1) 调用函数。尝试使用文件 (2) 的 'Entry' 输入中的变量。最终还是得到了 file(1) 变量
Calling function from file(1). Try to use variable from 'Entry' input of file(2). end up still got file(1) variable
对不起标题。我不确定如何让它适合这个。
我正在抓取网站。大多数部分已完成,现在我尝试使用 TKinter 创建输入字段。
使用文件 Button.py
从文件 Bitkub_scrape.py
调用函数。函数 make_df()
需要 file_path
的值才能工作。
我想在 Button.py
文件中使用 Entry
字段的输入。
它returns:
FileNotFoundError: [Errno 2] No such file or directory: ''
其中 ''
来自 Bitkub_scrape.py
.
这是我在“Bitkub_scrape.py”文件中的函数代码:
def make_df():
#for loop make list
for coin, chains, wdf in zip(coin_name_res, chain_name, fee_res):
#print("Coin name: {} Chain: {} Fee: {}".format(coin, chains, wdf))
#create dataframe
df=(pd.DataFrame({'coin_name': coin_name_res[0:100], 'chain_name': chain_name, 'withdrawal_fees':fee_res}))
#print(df)
file_path = ""
#csv
df.to_csv(file_path, index=False)
df_saved_file = pd.read_csv(file_path)
df_saved_file
driver.quit()
make_df()
这是我的 Button.py
文件:
root = tkinter.Tk()
root.title('Bitkub Fee monitor')
root.geometry("500x500")
e = Entry(root, width=60)
e.pack()
def Bitkub():
from Bitkub_scrape import make_df
make_df()
file_path.append(e.get())
Bitkub_label = Label(root,text="Done, Check file name: Bitkub_fee.csv")
Bitkub_label.pack()
print(path)
Bitkub_button = Button(root,text="Get Bitkub Fee", command=Bitkub, height = 5, width = 60, bg="green")
Bitkub_button.pack()
root.mainloop()
下面是如何实现我在评论中建议的——将 Entry
的内容传递给 make_df()
函数——这需要对两个源文件进行更改。请注意以下内容未经测试。
Button.py
文件更改:
from Bitkub_scrape import make_df
import tkinter as tk
root = tk.Tk()
root.title('Bitkub Fee monitor')
root.geometry("500x500")
e = tk.Entry(root, width=60)
e.pack()
def Bitkub():
make_df(e.get())
Bitkub_label = Label(root, text="Done, Check file name: Bitkub_fee.csv")
Bitkub_label.pack()
print(path)
Bitkub_button = tk.Button(root, text="Get Bitkub Fee", command=Bitkub, height=5, width=60,
bg="green")
Bitkub_button.pack()
root.mainloop()
Bitkub_scrape.py
文件更改:
import pandas as pd
def make_df(file_path):
for coin, chains, wdf in zip(coin_name_res, chain_name, fee_res):
#print("Coin name: {} Chain: {} Fee: {}".format(coin, chains, wdf))
# Create dataframe
df=(pd.DataFrame({'coin_name': coin_name_res[0:100], 'chain_name': chain_name,
'withdrawal_fees':fee_res}))
#print(df)
# Create CSV file
df.to_csv(file_path, index=False)
df_saved_file = pd.read_csv(file_path)
df_saved_file
driver.quit()
同时删除文件末尾的 make_df()
调用。
对不起标题。我不确定如何让它适合这个。
我正在抓取网站。大多数部分已完成,现在我尝试使用 TKinter 创建输入字段。
使用文件 Button.py
从文件 Bitkub_scrape.py
调用函数。函数 make_df()
需要 file_path
的值才能工作。
我想在 Button.py
文件中使用 Entry
字段的输入。
它returns:
FileNotFoundError: [Errno 2] No such file or directory: ''
其中 ''
来自 Bitkub_scrape.py
.
这是我在“Bitkub_scrape.py”文件中的函数代码:
def make_df():
#for loop make list
for coin, chains, wdf in zip(coin_name_res, chain_name, fee_res):
#print("Coin name: {} Chain: {} Fee: {}".format(coin, chains, wdf))
#create dataframe
df=(pd.DataFrame({'coin_name': coin_name_res[0:100], 'chain_name': chain_name, 'withdrawal_fees':fee_res}))
#print(df)
file_path = ""
#csv
df.to_csv(file_path, index=False)
df_saved_file = pd.read_csv(file_path)
df_saved_file
driver.quit()
make_df()
这是我的 Button.py
文件:
root = tkinter.Tk()
root.title('Bitkub Fee monitor')
root.geometry("500x500")
e = Entry(root, width=60)
e.pack()
def Bitkub():
from Bitkub_scrape import make_df
make_df()
file_path.append(e.get())
Bitkub_label = Label(root,text="Done, Check file name: Bitkub_fee.csv")
Bitkub_label.pack()
print(path)
Bitkub_button = Button(root,text="Get Bitkub Fee", command=Bitkub, height = 5, width = 60, bg="green")
Bitkub_button.pack()
root.mainloop()
下面是如何实现我在评论中建议的——将 Entry
的内容传递给 make_df()
函数——这需要对两个源文件进行更改。请注意以下内容未经测试。
Button.py
文件更改:
from Bitkub_scrape import make_df
import tkinter as tk
root = tk.Tk()
root.title('Bitkub Fee monitor')
root.geometry("500x500")
e = tk.Entry(root, width=60)
e.pack()
def Bitkub():
make_df(e.get())
Bitkub_label = Label(root, text="Done, Check file name: Bitkub_fee.csv")
Bitkub_label.pack()
print(path)
Bitkub_button = tk.Button(root, text="Get Bitkub Fee", command=Bitkub, height=5, width=60,
bg="green")
Bitkub_button.pack()
root.mainloop()
Bitkub_scrape.py
文件更改:
import pandas as pd
def make_df(file_path):
for coin, chains, wdf in zip(coin_name_res, chain_name, fee_res):
#print("Coin name: {} Chain: {} Fee: {}".format(coin, chains, wdf))
# Create dataframe
df=(pd.DataFrame({'coin_name': coin_name_res[0:100], 'chain_name': chain_name,
'withdrawal_fees':fee_res}))
#print(df)
# Create CSV file
df.to_csv(file_path, index=False)
df_saved_file = pd.read_csv(file_path)
df_saved_file
driver.quit()
同时删除文件末尾的 make_df()
调用。